ct-rich-text-editor 1.2.3 → 1.2.5

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 (35) hide show
  1. package/dist/assets/style.css +5319 -1
  2. package/dist/{babel-1c4a328b.js → babel-d155920e.js} +2303 -2279
  3. package/dist/{babel-1c4a328b.js.map → babel-d155920e.js.map} +1 -1
  4. package/dist/estree-b1fff53b.js +4706 -0
  5. package/dist/{estree-2cbea43c.js.map → estree-b1fff53b.js.map} +1 -1
  6. package/dist/html-f95ee5dc.js +2885 -0
  7. package/dist/{html-c18fb60e.js.map → html-f95ee5dc.js.map} +1 -1
  8. package/dist/index-7c4c0170.js +655 -0
  9. package/dist/index-7c4c0170.js.map +1 -0
  10. package/dist/index-c98eb13a.js +27325 -0
  11. package/dist/index-c98eb13a.js.map +1 -0
  12. package/dist/index.js +48 -15
  13. package/dist/index.js.map +1 -1
  14. package/dist/markdown-1d9e6c3f.js +3759 -0
  15. package/dist/markdown-1d9e6c3f.js.map +1 -0
  16. package/dist/postcss-c2592f3f.js +5399 -0
  17. package/dist/postcss-c2592f3f.js.map +1 -0
  18. package/dist/standalone-bcc7f37a.js +2649 -0
  19. package/dist/standalone-bcc7f37a.js.map +1 -0
  20. package/dist/typescript-48c10f50.js +13601 -0
  21. package/dist/{typescript-39d06710.js.map → typescript-48c10f50.js.map} +1 -1
  22. package/package.json +4 -4
  23. package/dist/estree-2cbea43c.js +0 -4668
  24. package/dist/html-c18fb60e.js +0 -2842
  25. package/dist/index-0e027fdf.js +0 -806
  26. package/dist/index-0e027fdf.js.map +0 -1
  27. package/dist/index-bd25a91b.js +0 -35926
  28. package/dist/index-bd25a91b.js.map +0 -1
  29. package/dist/markdown-39c3822b.js +0 -3548
  30. package/dist/markdown-39c3822b.js.map +0 -1
  31. package/dist/postcss-bbcc713e.js +0 -5152
  32. package/dist/postcss-bbcc713e.js.map +0 -1
  33. package/dist/standalone-36ad3877.js +0 -2601
  34. package/dist/standalone-36ad3877.js.map +0 -1
  35. package/dist/typescript-39d06710.js +0 -13534
@@ -1 +0,0 @@
1
- {"version":3,"file":"standalone-36ad3877.js","sources":["../../../node_modules/.pnpm/prettier@3.5.3/node_modules/prettier/standalone.mjs"],"sourcesContent":["var Au=Object.create;var At=Object.defineProperty;var vu=Object.getOwnPropertyDescriptor;var Bu=Object.getOwnPropertyNames;var wu=Object.getPrototypeOf,_u=Object.prototype.hasOwnProperty;var dr=e=>{throw TypeError(e)};var pr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),vt=(e,t)=>{for(var r in t)At(e,r,{get:t[r],enumerable:!0})},xu=(e,t,r,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let u of Bu(t))!_u.call(e,u)&&u!==r&&At(e,u,{get:()=>t[u],enumerable:!(n=vu(t,u))||n.enumerable});return e};var Me=(e,t,r)=>(r=e!=null?Au(wu(e)):{},xu(t||!e||!e.__esModule?At(r,\"default\",{value:e,enumerable:!0}):r,e));var bu=(e,t,r)=>t.has(e)||dr(\"Cannot \"+r);var Fr=(e,t,r)=>t.has(e)?dr(\"Cannot add the same private member more than once\"):t instanceof WeakSet?t.add(e):t.set(e,r);var pe=(e,t,r)=>(bu(e,t,\"access private method\"),r);var ot=pr((Da,mn)=>{\"use strict\";var Fn=new Proxy(String,{get:()=>Fn});mn.exports=Fn});var $n=pr(ur=>{\"use strict\";Object.defineProperty(ur,\"__esModule\",{value:!0});function wi(){return new Proxy({},{get:()=>e=>e})}var Wn=/\\r\\n|[\\n\\r\\u2028\\u2029]/;function _i(e,t,r){let n=Object.assign({column:0,line:-1},e.start),u=Object.assign({},n,e.end),{linesAbove:i=2,linesBelow:o=3}=r||{},s=n.line,a=n.column,D=u.line,l=u.column,p=Math.max(s-(i+1),0),f=Math.min(t.length,D+o);s===-1&&(p=0),D===-1&&(f=t.length);let d=D-s,c={};if(d)for(let F=0;F<=d;F++){let m=F+s;if(!a)c[m]=!0;else if(F===0){let h=t[m-1].length;c[m]=[a,h-a+1]}else if(F===d)c[m]=[0,l];else{let h=t[m-F].length;c[m]=[0,h]}}else a===l?a?c[s]=[a,0]:c[s]=!0:c[s]=[a,l-a];return{start:p,end:f,markerLines:c}}function xi(e,t,r={}){let u=wi(!1),i=e.split(Wn),{start:o,end:s,markerLines:a}=_i(t,i,r),D=t.start&&typeof t.start.column==\"number\",l=String(s).length,f=e.split(Wn,s).slice(o,s).map((d,c)=>{let F=o+1+c,h=` ${` ${F}`.slice(-l)} |`,C=a[F],v=!a[F+1];if(C){let E=\"\";if(Array.isArray(C)){let g=d.slice(0,Math.max(C[0]-1,0)).replace(/[^\\t]/g,\" \"),j=C[1]||1;E=[`\n `,u.gutter(h.replace(/\\d/g,\" \")),\" \",g,u.marker(\"^\").repeat(j)].join(\"\"),v&&r.message&&(E+=\" \"+u.message(r.message))}return[u.marker(\">\"),u.gutter(h),d.length>0?` ${d}`:\"\",E].join(\"\")}else return` ${u.gutter(h)}${d.length>0?` ${d}`:\"\"}`}).join(`\n`);return r.message&&!D&&(f=`${\" \".repeat(l+1)}${r.message}\n${f}`),f}ur.codeFrameColumns=xi});var fr={};vt(fr,{__debug:()=>lo,check:()=>ao,doc:()=>Dr,format:()=>yu,formatWithCursor:()=>gu,getSupportInfo:()=>Do,util:()=>cr,version:()=>cu});var Nu=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},ne=Nu;function U(){}U.prototype={diff:function(t,r){var n,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=u.callback;typeof u==\"function\"&&(i=u,u={});var o=this;function s(E){return E=o.postProcess(E,u),i?(setTimeout(function(){i(E)},0),!0):E}t=this.castInput(t,u),r=this.castInput(r,u),t=this.removeEmpty(this.tokenize(t,u)),r=this.removeEmpty(this.tokenize(r,u));var a=r.length,D=t.length,l=1,p=a+D;u.maxEditLength!=null&&(p=Math.min(p,u.maxEditLength));var f=(n=u.timeout)!==null&&n!==void 0?n:1/0,d=Date.now()+f,c=[{oldPos:-1,lastComponent:void 0}],F=this.extractCommon(c[0],r,t,0,u);if(c[0].oldPos+1>=D&&F+1>=a)return s(mr(o,c[0].lastComponent,r,t,o.useLongestToken));var m=-1/0,h=1/0;function C(){for(var E=Math.max(m,-l);E<=Math.min(h,l);E+=2){var g=void 0,j=c[E-1],b=c[E+1];j&&(c[E-1]=void 0);var X=!1;if(b){var ae=b.oldPos-E;X=b&&0<=ae&&ae<a}var $e=j&&j.oldPos+1<D;if(!X&&!$e){c[E]=void 0;continue}if(!$e||X&&j.oldPos<b.oldPos?g=o.addToPath(b,!0,!1,0,u):g=o.addToPath(j,!1,!0,1,u),F=o.extractCommon(g,r,t,E,u),g.oldPos+1>=D&&F+1>=a)return s(mr(o,g.lastComponent,r,t,o.useLongestToken));c[E]=g,g.oldPos+1>=D&&(h=Math.min(h,E-1)),F+1>=a&&(m=Math.max(m,E+1))}l++}if(i)(function E(){setTimeout(function(){if(l>p||Date.now()>d)return i();C()||E()},0)})();else for(;l<=p&&Date.now()<=d;){var v=C();if(v)return v}},addToPath:function(t,r,n,u,i){var o=t.lastComponent;return o&&!i.oneChangePerToken&&o.added===r&&o.removed===n?{oldPos:t.oldPos+u,lastComponent:{count:o.count+1,added:r,removed:n,previousComponent:o.previousComponent}}:{oldPos:t.oldPos+u,lastComponent:{count:1,added:r,removed:n,previousComponent:o}}},extractCommon:function(t,r,n,u,i){for(var o=r.length,s=n.length,a=t.oldPos,D=a-u,l=0;D+1<o&&a+1<s&&this.equals(n[a+1],r[D+1],i);)D++,a++,l++,i.oneChangePerToken&&(t.lastComponent={count:1,previousComponent:t.lastComponent,added:!1,removed:!1});return l&&!i.oneChangePerToken&&(t.lastComponent={count:l,previousComponent:t.lastComponent,added:!1,removed:!1}),t.oldPos=a,D},equals:function(t,r,n){return n.comparator?n.comparator(t,r):t===r||n.ignoreCase&&t.toLowerCase()===r.toLowerCase()},removeEmpty:function(t){for(var r=[],n=0;n<t.length;n++)t[n]&&r.push(t[n]);return r},castInput:function(t){return t},tokenize:function(t){return Array.from(t)},join:function(t){return t.join(\"\")},postProcess:function(t){return t}};function mr(e,t,r,n,u){for(var i=[],o;t;)i.push(t),o=t.previousComponent,delete t.previousComponent,t=o;i.reverse();for(var s=0,a=i.length,D=0,l=0;s<a;s++){var p=i[s];if(p.removed)p.value=e.join(n.slice(l,l+p.count)),l+=p.count;else{if(!p.added&&u){var f=r.slice(D,D+p.count);f=f.map(function(d,c){var F=n[l+c];return F.length>d.length?F:d}),p.value=e.join(f)}else p.value=e.join(r.slice(D,D+p.count));D+=p.count,p.added||(l+=p.count)}}return i}var mo=new U;function hr(e,t){var r;for(r=0;r<e.length&&r<t.length;r++)if(e[r]!=t[r])return e.slice(0,r);return e.slice(0,r)}function Er(e,t){var r;if(!e||!t||e[e.length-1]!=t[t.length-1])return\"\";for(r=0;r<e.length&&r<t.length;r++)if(e[e.length-(r+1)]!=t[t.length-(r+1)])return e.slice(-r);return e.slice(-r)}function Bt(e,t,r){if(e.slice(0,t.length)!=t)throw Error(\"string \".concat(JSON.stringify(e),\" doesn't start with prefix \").concat(JSON.stringify(t),\"; this is a bug\"));return r+e.slice(t.length)}function wt(e,t,r){if(!t)return e+r;if(e.slice(-t.length)!=t)throw Error(\"string \".concat(JSON.stringify(e),\" doesn't end with suffix \").concat(JSON.stringify(t),\"; this is a bug\"));return e.slice(0,-t.length)+r}function _e(e,t){return Bt(e,t,\"\")}function Ve(e,t){return wt(e,t,\"\")}function Cr(e,t){return t.slice(0,Ou(e,t))}function Ou(e,t){var r=0;e.length>t.length&&(r=e.length-t.length);var n=t.length;e.length<t.length&&(n=e.length);var u=Array(n),i=0;u[0]=0;for(var o=1;o<n;o++){for(t[o]==t[i]?u[o]=u[i]:u[o]=i;i>0&&t[o]!=t[i];)i=u[i];t[o]==t[i]&&i++}i=0;for(var s=r;s<e.length;s++){for(;i>0&&e[s]!=t[i];)i=u[i];e[s]==t[i]&&i++}return i}var Ue=\"a-zA-Z0-9_\\\\u{C0}-\\\\u{FF}\\\\u{D8}-\\\\u{F6}\\\\u{F8}-\\\\u{2C6}\\\\u{2C8}-\\\\u{2D7}\\\\u{2DE}-\\\\u{2FF}\\\\u{1E00}-\\\\u{1EFF}\",Su=new RegExp(\"[\".concat(Ue,\"]+|\\\\s+|[^\").concat(Ue,\"]\"),\"ug\"),Ge=new U;Ge.equals=function(e,t,r){return r.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()};Ge.tokenize=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r;if(t.intlSegmenter){if(t.intlSegmenter.resolvedOptions().granularity!=\"word\")throw new Error('The segmenter passed must have a granularity of \"word\"');r=Array.from(t.intlSegmenter.segment(e),function(i){return i.segment})}else r=e.match(Su)||[];var n=[],u=null;return r.forEach(function(i){/\\s/.test(i)?u==null?n.push(i):n.push(n.pop()+i):/\\s/.test(u)?n[n.length-1]==u?n.push(n.pop()+i):n.push(u+i):n.push(i),u=i}),n};Ge.join=function(e){return e.map(function(t,r){return r==0?t:t.replace(/^\\s+/,\"\")}).join(\"\")};Ge.postProcess=function(e,t){if(!e||t.oneChangePerToken)return e;var r=null,n=null,u=null;return e.forEach(function(i){i.added?n=i:i.removed?u=i:((n||u)&&gr(r,u,n,i),r=i,n=null,u=null)}),(n||u)&&gr(r,u,n,null),e};function gr(e,t,r,n){if(t&&r){var u=t.value.match(/^\\s*/)[0],i=t.value.match(/\\s*$/)[0],o=r.value.match(/^\\s*/)[0],s=r.value.match(/\\s*$/)[0];if(e){var a=hr(u,o);e.value=wt(e.value,o,a),t.value=_e(t.value,a),r.value=_e(r.value,a)}if(n){var D=Er(i,s);n.value=Bt(n.value,s,D),t.value=Ve(t.value,D),r.value=Ve(r.value,D)}}else if(r)e&&(r.value=r.value.replace(/^\\s*/,\"\")),n&&(n.value=n.value.replace(/^\\s*/,\"\"));else if(e&&n){var l=n.value.match(/^\\s*/)[0],p=t.value.match(/^\\s*/)[0],f=t.value.match(/\\s*$/)[0],d=hr(l,p);t.value=_e(t.value,d);var c=Er(_e(l,d),f);t.value=Ve(t.value,c),n.value=Bt(n.value,l,c),e.value=wt(e.value,l,l.slice(0,l.length-c.length))}else if(n){var F=n.value.match(/^\\s*/)[0],m=t.value.match(/\\s*$/)[0],h=Cr(m,F);t.value=Ve(t.value,h)}else if(e){var C=e.value.match(/\\s*$/)[0],v=t.value.match(/^\\s*/)[0],E=Cr(C,v);t.value=_e(t.value,E)}}var Tu=new U;Tu.tokenize=function(e){var t=new RegExp(\"(\\\\r?\\\\n)|[\".concat(Ue,\"]+|[^\\\\S\\\\n\\\\r]+|[^\").concat(Ue,\"]\"),\"ug\");return e.match(t)||[]};var bt=new U;bt.tokenize=function(e,t){t.stripTrailingCr&&(e=e.replace(/\\r\\n/g,`\n`));var r=[],n=e.split(/(\\n|\\r\\n)/);n[n.length-1]||n.pop();for(var u=0;u<n.length;u++){var i=n[u];u%2&&!t.newlineIsToken?r[r.length-1]+=i:r.push(i)}return r};bt.equals=function(e,t,r){return r.ignoreWhitespace?((!r.newlineIsToken||!e.includes(`\n`))&&(e=e.trim()),(!r.newlineIsToken||!t.includes(`\n`))&&(t=t.trim())):r.ignoreNewlineAtEof&&!r.newlineIsToken&&(e.endsWith(`\n`)&&(e=e.slice(0,-1)),t.endsWith(`\n`)&&(t=t.slice(0,-1))),U.prototype.equals.call(this,e,t,r)};var ku=new U;ku.tokenize=function(e){return e.split(/(\\S.+?[.!?])(?=\\s+|$)/)};var Lu=new U;Lu.tokenize=function(e){return e.split(/([{}:;,]|\\s+)/)};function _t(e){\"@babel/helpers - typeof\";return _t=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},_t(e)}var xe=new U;xe.useLongestToken=!0;xe.tokenize=bt.tokenize;xe.castInput=function(e,t){var r=t.undefinedReplacement,n=t.stringifyReplacer,u=n===void 0?function(i,o){return typeof o>\"u\"?r:o}:n;return typeof e==\"string\"?e:JSON.stringify(xt(e,null,null,u),u,\" \")};xe.equals=function(e,t,r){return U.prototype.equals.call(xe,e.replace(/,([\\r\\n])/g,\"$1\"),t.replace(/,([\\r\\n])/g,\"$1\"),r)};function xt(e,t,r,n,u){t=t||[],r=r||[],n&&(e=n(u,e));var i;for(i=0;i<t.length;i+=1)if(t[i]===e)return r[i];var o;if(Object.prototype.toString.call(e)===\"[object Array]\"){for(t.push(e),o=new Array(e.length),r.push(o),i=0;i<e.length;i+=1)o[i]=xt(e[i],t,r,n,u);return t.pop(),r.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),_t(e)===\"object\"&&e!==null){t.push(e),o={},r.push(o);var s=[],a;for(a in e)Object.prototype.hasOwnProperty.call(e,a)&&s.push(a);for(s.sort(),i=0;i<s.length;i+=1)a=s[i],o[a]=xt(e[a],t,r,n,a);t.pop(),r.pop()}else o=e;return o}var ze=new U;ze.tokenize=function(e){return e.slice()};ze.join=ze.removeEmpty=function(e){return e};function yr(e,t,r){return ze.diff(e,t,r)}function Ar(e){let t=e.indexOf(\"\\r\");return t!==-1?e.charAt(t+1)===`\n`?\"crlf\":\"cr\":\"lf\"}function be(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return`\\r\n`;default:return`\n`}}function Nt(e,t){let r;switch(t){case`\n`:r=/\\n/gu;break;case\"\\r\":r=/\\r/gu;break;case`\\r\n`:r=/\\r\\n/gu;break;default:throw new Error(`Unexpected \"eol\" ${JSON.stringify(t)}.`)}let n=e.match(r);return n?n.length:0}function vr(e){return ne(!1,e,/\\r\\n?/gu,`\n`)}var $=\"string\",H=\"array\",z=\"cursor\",T=\"indent\",k=\"align\",L=\"trim\",B=\"group\",N=\"fill\",w=\"if-break\",P=\"indent-if-break\",I=\"line-suffix\",R=\"line-suffix-boundary\",y=\"line\",O=\"label\",_=\"break-parent\",Ke=new Set([z,T,k,L,B,N,w,P,I,R,y,O,_]);var Pu=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t==\"string\"?t[r<0?t.length+r:r]:t.at(r)},A=Pu;function Iu(e){if(typeof e==\"string\")return $;if(Array.isArray(e))return H;if(!e)return;let{type:t}=e;if(Ke.has(t))return t}var M=Iu;var Ru=e=>new Intl.ListFormat(\"en-US\",{type:\"disjunction\"}).format(e);function Yu(e){let t=e===null?\"null\":typeof e;if(t!==\"string\"&&t!==\"object\")return`Unexpected doc '${t}', \nExpected it to be 'string' or 'object'.`;if(M(e))throw new Error(\"doc is valid.\");let r=Object.prototype.toString.call(e);if(r!==\"[object Object]\")return`Unexpected doc '${r}'.`;let n=Ru([...Ke].map(u=>`'${u}'`));return`Unexpected doc.type '${e.type}'.\nExpected it to be ${n}.`}var Ot=class extends Error{name=\"InvalidDocError\";constructor(t){super(Yu(t)),this.doc=t}},Q=Ot;var Br={};function ju(e,t,r,n){let u=[e];for(;u.length>0;){let i=u.pop();if(i===Br){r(u.pop());continue}r&&u.push(i,Br);let o=M(i);if(!o)throw new Q(i);if((t==null?void 0:t(i))!==!1)switch(o){case H:case N:{let s=o===H?i:i.parts;for(let a=s.length,D=a-1;D>=0;--D)u.push(s[D]);break}case w:u.push(i.flatContents,i.breakContents);break;case B:if(n&&i.expandedStates)for(let s=i.expandedStates.length,a=s-1;a>=0;--a)u.push(i.expandedStates[a]);else u.push(i.contents);break;case k:case T:case P:case O:case I:u.push(i.contents);break;case $:case z:case L:case R:case y:case _:break;default:throw new Q(i)}}}var Fe=ju;function Oe(e,t){if(typeof e==\"string\")return t(e);let r=new Map;return n(e);function n(i){if(r.has(i))return r.get(i);let o=u(i);return r.set(i,o),o}function u(i){switch(M(i)){case H:return t(i.map(n));case N:return t({...i,parts:i.parts.map(n)});case w:return t({...i,breakContents:n(i.breakContents),flatContents:n(i.flatContents)});case B:{let{expandedStates:o,contents:s}=i;return o?(o=o.map(n),s=o[0]):s=n(s),t({...i,contents:s,expandedStates:o})}case k:case T:case P:case O:case I:return t({...i,contents:n(i.contents)});case $:case z:case L:case R:case y:case _:return t(i);default:throw new Q(i)}}}function Je(e,t,r){let n=r,u=!1;function i(o){if(u)return!1;let s=t(o);s!==void 0&&(u=!0,n=s)}return Fe(e,i),n}function Hu(e){if(e.type===B&&e.break||e.type===y&&e.hard||e.type===_)return!0}function xr(e){return Je(e,Hu,!1)}function wr(e){if(e.length>0){let t=A(!1,e,-1);!t.expandedStates&&!t.break&&(t.break=\"propagated\")}return null}function br(e){let t=new Set,r=[];function n(i){if(i.type===_&&wr(r),i.type===B){if(r.push(i),t.has(i))return!1;t.add(i)}}function u(i){i.type===B&&r.pop().break&&wr(r)}Fe(e,n,u,!0)}function Wu(e){return e.type===y&&!e.hard?e.soft?\"\":\" \":e.type===w?e.flatContents:e}function Nr(e){return Oe(e,Wu)}function _r(e){for(e=[...e];e.length>=2&&A(!1,e,-2).type===y&&A(!1,e,-1).type===_;)e.length-=2;if(e.length>0){let t=Ne(A(!1,e,-1));e[e.length-1]=t}return e}function Ne(e){switch(M(e)){case T:case P:case B:case I:case O:{let t=Ne(e.contents);return{...e,contents:t}}case w:return{...e,breakContents:Ne(e.breakContents),flatContents:Ne(e.flatContents)};case N:return{...e,parts:_r(e.parts)};case H:return _r(e);case $:return e.replace(/[\\n\\r]*$/u,\"\");case k:case z:case L:case R:case y:case _:break;default:throw new Q(e)}return e}function qe(e){return Ne(Mu(e))}function $u(e){switch(M(e)){case N:if(e.parts.every(t=>t===\"\"))return\"\";break;case B:if(!e.contents&&!e.id&&!e.break&&!e.expandedStates)return\"\";if(e.contents.type===B&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case k:case T:case P:case I:if(!e.contents)return\"\";break;case w:if(!e.flatContents&&!e.breakContents)return\"\";break;case H:{let t=[];for(let r of e){if(!r)continue;let[n,...u]=Array.isArray(r)?r:[r];typeof n==\"string\"&&typeof A(!1,t,-1)==\"string\"?t[t.length-1]+=n:t.push(n),t.push(...u)}return t.length===0?\"\":t.length===1?t[0]:t}case $:case z:case L:case R:case y:case O:case _:break;default:throw new Q(e)}return e}function Mu(e){return Oe(e,t=>$u(t))}function Or(e,t=Xe){return Oe(e,r=>typeof r==\"string\"?Se(t,r.split(`\n`)):r)}function Vu(e){if(e.type===y)return!0}function Sr(e){return Je(e,Vu,!1)}function me(e,t){return e.type===O?{...e,contents:t(e.contents)}:t(e)}var St=()=>{},G=St,Tt=St,Tr=St;function le(e){return G(e),{type:T,contents:e}}function De(e,t){return G(t),{type:k,contents:t,n:e}}function kt(e,t={}){return G(e),Tt(t.expandedStates,!0),{type:B,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function kr(e){return De(Number.NEGATIVE_INFINITY,e)}function Lr(e){return De({type:\"root\"},e)}function Pr(e){return De(-1,e)}function Ir(e,t){return kt(e[0],{...t,expandedStates:e})}function Rr(e){return Tr(e),{type:N,parts:e}}function Yr(e,t=\"\",r={}){return G(e),t!==\"\"&&G(t),{type:w,breakContents:e,flatContents:t,groupId:r.groupId}}function jr(e,t){return G(e),{type:P,contents:e,groupId:t.groupId,negate:t.negate}}function Te(e){return G(e),{type:I,contents:e}}var Hr={type:R},he={type:_},Wr={type:L},ke={type:y,hard:!0},Lt={type:y,hard:!0,literal:!0},Qe={type:y},$r={type:y,soft:!0},K=[ke,he],Xe=[Lt,he],Z={type:z};function Se(e,t){G(e),Tt(t);let r=[];for(let n=0;n<t.length;n++)n!==0&&r.push(e),r.push(t[n]);return r}function Ze(e,t,r){G(e);let n=e;if(t>0){for(let u=0;u<Math.floor(t/r);++u)n=le(n);n=De(t%r,n),n=De(Number.NEGATIVE_INFINITY,n)}return n}function Mr(e,t){return G(t),e?{type:O,label:e,contents:t}:t}function ee(e){var t;if(!e)return\"\";if(Array.isArray(e)){let r=[];for(let n of e)if(Array.isArray(n))r.push(...ee(n));else{let u=ee(n);u!==\"\"&&r.push(u)}return r}return e.type===w?{...e,breakContents:ee(e.breakContents),flatContents:ee(e.flatContents)}:e.type===B?{...e,contents:ee(e.contents),expandedStates:(t=e.expandedStates)==null?void 0:t.map(ee)}:e.type===N?{type:\"fill\",parts:e.parts.map(ee)}:e.contents?{...e,contents:ee(e.contents)}:e}function Vr(e){let t=Object.create(null),r=new Set;return n(ee(e));function n(i,o,s){var a,D;if(typeof i==\"string\")return JSON.stringify(i);if(Array.isArray(i)){let l=i.map(n).filter(Boolean);return l.length===1?l[0]:`[${l.join(\", \")}]`}if(i.type===y){let l=((a=s==null?void 0:s[o+1])==null?void 0:a.type)===_;return i.literal?l?\"literalline\":\"literallineWithoutBreakParent\":i.hard?l?\"hardline\":\"hardlineWithoutBreakParent\":i.soft?\"softline\":\"line\"}if(i.type===_)return((D=s==null?void 0:s[o-1])==null?void 0:D.type)===y&&s[o-1].hard?void 0:\"breakParent\";if(i.type===L)return\"trim\";if(i.type===T)return\"indent(\"+n(i.contents)+\")\";if(i.type===k)return i.n===Number.NEGATIVE_INFINITY?\"dedentToRoot(\"+n(i.contents)+\")\":i.n<0?\"dedent(\"+n(i.contents)+\")\":i.n.type===\"root\"?\"markAsRoot(\"+n(i.contents)+\")\":\"align(\"+JSON.stringify(i.n)+\", \"+n(i.contents)+\")\";if(i.type===w)return\"ifBreak(\"+n(i.breakContents)+(i.flatContents?\", \"+n(i.flatContents):\"\")+(i.groupId?(i.flatContents?\"\":', \"\"')+`, { groupId: ${u(i.groupId)} }`:\"\")+\")\";if(i.type===P){let l=[];i.negate&&l.push(\"negate: true\"),i.groupId&&l.push(`groupId: ${u(i.groupId)}`);let p=l.length>0?`, { ${l.join(\", \")} }`:\"\";return`indentIfBreak(${n(i.contents)}${p})`}if(i.type===B){let l=[];i.break&&i.break!==\"propagated\"&&l.push(\"shouldBreak: true\"),i.id&&l.push(`id: ${u(i.id)}`);let p=l.length>0?`, { ${l.join(\", \")} }`:\"\";return i.expandedStates?`conditionalGroup([${i.expandedStates.map(f=>n(f)).join(\",\")}]${p})`:`group(${n(i.contents)}${p})`}if(i.type===N)return`fill([${i.parts.map(l=>n(l)).join(\", \")}])`;if(i.type===I)return\"lineSuffix(\"+n(i.contents)+\")\";if(i.type===R)return\"lineSuffixBoundary\";if(i.type===O)return`label(${JSON.stringify(i.label)}, ${n(i.contents)})`;throw new Error(\"Unknown doc type \"+i.type)}function u(i){if(typeof i!=\"symbol\")return JSON.stringify(String(i));if(i in t)return t[i];let o=i.description||\"symbol\";for(let s=0;;s++){let a=o+(s>0?` #${s}`:\"\");if(!r.has(a))return r.add(a),t[i]=`Symbol.for(${JSON.stringify(a)})`}}}var Ur=()=>/[#*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\\uDC70\\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-\\uDED7\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\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\\uDD3D\\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-\\uDE89\\uDE8F-\\uDEC2\\uDEC6\\uDECE-\\uDEDC\\uDEDF-\\uDEE9]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\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]|\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\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]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\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;function zr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Gr(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var Kr=e=>!(zr(e)||Gr(e));var Uu=/[^\\x20-\\x7F]/u;function zu(e){if(!e)return 0;if(!Uu.test(e))return e.length;e=e.replace(Ur(),\" \");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=Kr(n)?1:2)}return t}var Le=zu;var Y=Symbol(\"MODE_BREAK\"),J=Symbol(\"MODE_FLAT\"),Ee=Symbol(\"cursor\"),Pt=Symbol(\"DOC_FILL_PRINTED_LENGTH\");function Jr(){return{value:\"\",length:0,queue:[]}}function Gu(e,t){return It(e,{type:\"indent\"},t)}function Ku(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||Jr():t<0?It(e,{type:\"dedent\"},r):t?t.type===\"root\"?{...e,root:e}:It(e,{type:typeof t==\"string\"?\"stringAlign\":\"numberAlign\",n:t},r):e}function It(e,t,r){let n=t.type===\"dedent\"?e.queue.slice(0,-1):[...e.queue,t],u=\"\",i=0,o=0,s=0;for(let c of n)switch(c.type){case\"indent\":l(),r.useTabs?a(1):D(r.tabWidth);break;case\"stringAlign\":l(),u+=c.n,i+=c.n.length;break;case\"numberAlign\":o+=1,s+=c.n;break;default:throw new Error(`Unexpected type '${c.type}'`)}return f(),{...e,value:u,length:i,queue:n};function a(c){u+=\"\t\".repeat(c),i+=r.tabWidth*c}function D(c){u+=\" \".repeat(c),i+=c}function l(){r.useTabs?p():f()}function p(){o>0&&a(o),d()}function f(){s>0&&D(s),d()}function d(){o=0,s=0}}function Rt(e){let t=0,r=0,n=e.length;e:for(;n--;){let u=e[n];if(u===Ee){r++;continue}for(let i=u.length-1;i>=0;i--){let o=u[i];if(o===\" \"||o===\"\t\")t++;else{e[n]=u.slice(0,i+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(Ee);return t}function et(e,t,r,n,u,i){if(r===Number.POSITIVE_INFINITY)return!0;let o=t.length,s=[e],a=[];for(;r>=0;){if(s.length===0){if(o===0)return!0;s.push(t[--o]);continue}let{mode:D,doc:l}=s.pop(),p=M(l);switch(p){case $:a.push(l),r-=Le(l);break;case H:case N:{let f=p===H?l:l.parts,d=l[Pt]??0;for(let c=f.length-1;c>=d;c--)s.push({mode:D,doc:f[c]});break}case T:case k:case P:case O:s.push({mode:D,doc:l.contents});break;case L:r+=Rt(a);break;case B:{if(i&&l.break)return!1;let f=l.break?Y:D,d=l.expandedStates&&f===Y?A(!1,l.expandedStates,-1):l.contents;s.push({mode:f,doc:d});break}case w:{let d=(l.groupId?u[l.groupId]||J:D)===Y?l.breakContents:l.flatContents;d&&s.push({mode:D,doc:d});break}case y:if(D===Y||l.hard)return!0;l.soft||(a.push(\" \"),r--);break;case I:n=!0;break;case R:if(n)return!1;break}}return!1}function Ce(e,t){let r={},n=t.printWidth,u=be(t.endOfLine),i=0,o=[{ind:Jr(),mode:Y,doc:e}],s=[],a=!1,D=[],l=0;for(br(e);o.length>0;){let{ind:f,mode:d,doc:c}=o.pop();switch(M(c)){case $:{let F=u!==`\n`?ne(!1,c,`\n`,u):c;s.push(F),o.length>0&&(i+=Le(F));break}case H:for(let F=c.length-1;F>=0;F--)o.push({ind:f,mode:d,doc:c[F]});break;case z:if(l>=2)throw new Error(\"There are too many 'cursor' in doc.\");s.push(Ee),l++;break;case T:o.push({ind:Gu(f,t),mode:d,doc:c.contents});break;case k:o.push({ind:Ku(f,c.n,t),mode:d,doc:c.contents});break;case L:i-=Rt(s);break;case B:switch(d){case J:if(!a){o.push({ind:f,mode:c.break?Y:J,doc:c.contents});break}case Y:{a=!1;let F={ind:f,mode:J,doc:c.contents},m=n-i,h=D.length>0;if(!c.break&&et(F,o,m,h,r))o.push(F);else if(c.expandedStates){let C=A(!1,c.expandedStates,-1);if(c.break){o.push({ind:f,mode:Y,doc:C});break}else for(let v=1;v<c.expandedStates.length+1;v++)if(v>=c.expandedStates.length){o.push({ind:f,mode:Y,doc:C});break}else{let E=c.expandedStates[v],g={ind:f,mode:J,doc:E};if(et(g,o,m,h,r)){o.push(g);break}}}else o.push({ind:f,mode:Y,doc:c.contents});break}}c.id&&(r[c.id]=A(!1,o,-1).mode);break;case N:{let F=n-i,m=c[Pt]??0,{parts:h}=c,C=h.length-m;if(C===0)break;let v=h[m+0],E=h[m+1],g={ind:f,mode:J,doc:v},j={ind:f,mode:Y,doc:v},b=et(g,[],F,D.length>0,r,!0);if(C===1){b?o.push(g):o.push(j);break}let X={ind:f,mode:J,doc:E},ae={ind:f,mode:Y,doc:E};if(C===2){b?o.push(X,g):o.push(ae,j);break}let $e=h[m+2],yt={ind:f,mode:d,doc:{...c,[Pt]:m+2}};et({ind:f,mode:J,doc:[v,E,$e]},[],F,D.length>0,r,!0)?o.push(yt,X,g):b?o.push(yt,ae,g):o.push(yt,ae,j);break}case w:case P:{let F=c.groupId?r[c.groupId]:d;if(F===Y){let m=c.type===w?c.breakContents:c.negate?c.contents:le(c.contents);m&&o.push({ind:f,mode:d,doc:m})}if(F===J){let m=c.type===w?c.flatContents:c.negate?le(c.contents):c.contents;m&&o.push({ind:f,mode:d,doc:m})}break}case I:D.push({ind:f,mode:d,doc:c.contents});break;case R:D.length>0&&o.push({ind:f,mode:d,doc:ke});break;case y:switch(d){case J:if(c.hard)a=!0;else{c.soft||(s.push(\" \"),i+=1);break}case Y:if(D.length>0){o.push({ind:f,mode:d,doc:c},...D.reverse()),D.length=0;break}c.literal?f.root?(s.push(u,f.root.value),i=f.root.length):(s.push(u),i=0):(i-=Rt(s),s.push(u+f.value),i=f.length);break}break;case O:o.push({ind:f,mode:d,doc:c.contents});break;case _:break;default:throw new Q(c)}o.length===0&&D.length>0&&(o.push(...D.reverse()),D.length=0)}let p=s.indexOf(Ee);if(p!==-1){let f=s.indexOf(Ee,p+1);if(f===-1)return{formatted:s.filter(m=>m!==Ee).join(\"\")};let d=s.slice(0,p).join(\"\"),c=s.slice(p+1,f).join(\"\"),F=s.slice(f+1).join(\"\");return{formatted:d+c+F,cursorNodeStart:d.length,cursorNodeText:c}}return{formatted:s.join(\"\")}}function Ju(e,t,r=0){let n=0;for(let u=r;u<e.length;++u)e[u]===\"\t\"?n=n+t-n%t:n++;return n}var ge=Ju;var te,jt,tt,Yt=class{constructor(t){Fr(this,te);this.stack=[t]}get key(){let{stack:t,siblings:r}=this;return A(!1,t,r===null?-2:-4)??null}get index(){return this.siblings===null?null:A(!1,this.stack,-2)}get node(){return A(!1,this.stack,-1)}get parent(){return this.getNode(1)}get grandparent(){return this.getNode(2)}get isInArray(){return this.siblings!==null}get siblings(){let{stack:t}=this,r=A(!1,t,-3);return Array.isArray(r)?r:null}get next(){let{siblings:t}=this;return t===null?null:t[this.index+1]}get previous(){let{siblings:t}=this;return t===null?null:t[this.index-1]}get isFirst(){return this.index===0}get isLast(){let{siblings:t,index:r}=this;return t!==null&&r===t.length-1}get isRoot(){return this.stack.length===1}get root(){return this.stack[0]}get ancestors(){return[...pe(this,te,tt).call(this)]}getName(){let{stack:t}=this,{length:r}=t;return r>1?A(!1,t,-2):null}getValue(){return A(!1,this.stack,-1)}getNode(t=0){let r=pe(this,te,jt).call(this,t);return r===-1?null:this.stack[r]}getParentNode(t=0){return this.getNode(t+1)}call(t,...r){let{stack:n}=this,{length:u}=n,i=A(!1,n,-1);for(let o of r)i=i[o],n.push(o,i);try{return t(this)}finally{n.length=u}}callParent(t,r=0){let n=pe(this,te,jt).call(this,r+1),u=this.stack.splice(n+1);try{return t(this)}finally{this.stack.push(...u)}}each(t,...r){let{stack:n}=this,{length:u}=n,i=A(!1,n,-1);for(let o of r)i=i[o],n.push(o,i);try{for(let o=0;o<i.length;++o)n.push(o,i[o]),t(this,o,i),n.length-=2}finally{n.length=u}}map(t,...r){let n=[];return this.each((u,i,o)=>{n[i]=t(u,i,o)},...r),n}match(...t){let r=this.stack.length-1,n=null,u=this.stack[r--];for(let i of t){if(u===void 0)return!1;let o=null;if(typeof n==\"number\"&&(o=n,n=this.stack[r--],u=this.stack[r--]),i&&!i(u,n,o))return!1;n=this.stack[r--],u=this.stack[r--]}return!0}findAncestor(t){for(let r of pe(this,te,tt).call(this))if(t(r))return r}hasAncestor(t){for(let r of pe(this,te,tt).call(this))if(t(r))return!0;return!1}};te=new WeakSet,jt=function(t){let{stack:r}=this;for(let n=r.length-1;n>=0;n-=2)if(!Array.isArray(r[n])&&--t<0)return n;return-1},tt=function*(){let{stack:t}=this;for(let r=t.length-3;r>=0;r-=2){let n=t[r];Array.isArray(n)||(yield n)}};var qr=Yt;var Xr=new Proxy(()=>{},{get:()=>Xr}),Pe=Xr;function qu(e){return e!==null&&typeof e==\"object\"}var Qr=qu;function*ye(e,t){let{getVisitorKeys:r,filter:n=()=>!0}=t,u=i=>Qr(i)&&n(i);for(let i of r(e)){let o=e[i];if(Array.isArray(o))for(let s of o)u(s)&&(yield s);else u(o)&&(yield o)}}function*Zr(e,t){let r=[e];for(let n=0;n<r.length;n++){let u=r[n];for(let i of ye(u,t))yield i,r.push(i)}}function en(e,t){return ye(e,t).next().done}function Ae(e){return(t,r,n)=>{let u=!!(n!=null&&n.backwards);if(r===!1)return!1;let{length:i}=t,o=r;for(;o>=0&&o<i;){let s=t.charAt(o);if(e instanceof RegExp){if(!e.test(s))return o}else if(!e.includes(s))return o;u?o--:o++}return o===-1||o===i?o:!1}}var tn=Ae(/\\s/u),S=Ae(\" \t\"),rt=Ae(\",; \t\"),nt=Ae(/[^\\n\\r]/u);function Xu(e,t,r){let n=!!(r!=null&&r.backwards);if(t===!1)return!1;let u=e.charAt(t);if(n){if(e.charAt(t-1)===\"\\r\"&&u===`\n`)return t-2;if(u===`\n`||u===\"\\r\"||u===\"\\u2028\"||u===\"\\u2029\")return t-1}else{if(u===\"\\r\"&&e.charAt(t+1)===`\n`)return t+2;if(u===`\n`||u===\"\\r\"||u===\"\\u2028\"||u===\"\\u2029\")return t+1}return t}var W=Xu;function Qu(e,t,r={}){let n=S(e,r.backwards?t-1:t,r),u=W(e,n,r);return n!==u}var V=Qu;function Zu(e){return Array.isArray(e)&&e.length>0}var Ht=Zu;var rn=new Set([\"tokens\",\"comments\",\"parent\",\"enclosingNode\",\"precedingNode\",\"followingNode\"]),ei=e=>Object.keys(e).filter(t=>!rn.has(t));function ti(e){return e?t=>e(t,rn):ei}var q=ti;function ri(e){let t=e.type||e.kind||\"(unknown type)\",r=String(e.name||e.id&&(typeof e.id==\"object\"?e.id.name:e.id)||e.key&&(typeof e.key==\"object\"?e.key.name:e.key)||e.value&&(typeof e.value==\"object\"?\"\":String(e.value))||e.operator||\"\");return r.length>20&&(r=r.slice(0,19)+\"\\u2026\"),t+(r?\" \"+r:\"\")}function Wt(e,t){(e.comments??(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=ri(e)}function ue(e,t){t.leading=!0,t.trailing=!1,Wt(e,t)}function re(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),Wt(e,t)}function ie(e,t){t.leading=!1,t.trailing=!0,Wt(e,t)}var $t=new WeakMap;function ut(e,t){if($t.has(e))return $t.get(e);let{printer:{getCommentChildNodes:r,canAttachComment:n,getVisitorKeys:u},locStart:i,locEnd:o}=t;if(!n)return[];let s=((r==null?void 0:r(e,t))??[...ye(e,{getVisitorKeys:q(u)})]).flatMap(a=>n(a)?[a]:ut(a,t));return s.sort((a,D)=>i(a)-i(D)||o(a)-o(D)),$t.set(e,s),s}function un(e,t,r,n){let{locStart:u,locEnd:i}=r,o=u(t),s=i(t),a=ut(e,r),D,l,p=0,f=a.length;for(;p<f;){let d=p+f>>1,c=a[d],F=u(c),m=i(c);if(F<=o&&s<=m)return un(c,t,r,c);if(m<=o){D=c,p=d+1;continue}if(s<=F){l=c,f=d;continue}throw new Error(\"Comment location overlaps with node location\")}if((n==null?void 0:n.type)===\"TemplateLiteral\"){let{quasis:d}=n,c=Vt(d,t,r);D&&Vt(d,D,r)!==c&&(D=null),l&&Vt(d,l,r)!==c&&(l=null)}return{enclosingNode:n,precedingNode:D,followingNode:l}}var Mt=()=>!1;function on(e,t){let{comments:r}=e;if(delete e.comments,!Ht(r)||!t.printer.canAttachComment)return;let n=[],{locStart:u,locEnd:i,printer:{experimentalFeatures:{avoidAstMutation:o=!1}={},handleComments:s={}},originalText:a}=t,{ownLine:D=Mt,endOfLine:l=Mt,remaining:p=Mt}=s,f=r.map((d,c)=>({...un(e,d,t),comment:d,text:a,options:t,ast:e,isLastComment:r.length-1===c}));for(let[d,c]of f.entries()){let{comment:F,precedingNode:m,enclosingNode:h,followingNode:C,text:v,options:E,ast:g,isLastComment:j}=c;if(E.parser===\"json\"||E.parser===\"json5\"||E.parser===\"jsonc\"||E.parser===\"__js_expression\"||E.parser===\"__ts_expression\"||E.parser===\"__vue_expression\"||E.parser===\"__vue_ts_expression\"){if(u(F)-u(g)<=0){ue(g,F);continue}if(i(F)-i(g)>=0){ie(g,F);continue}}let b;if(o?b=[c]:(F.enclosingNode=h,F.precedingNode=m,F.followingNode=C,b=[F,v,E,g,j]),ni(v,E,f,d))F.placement=\"ownLine\",D(...b)||(C?ue(C,F):m?ie(m,F):h?re(h,F):re(g,F));else if(ui(v,E,f,d))F.placement=\"endOfLine\",l(...b)||(m?ie(m,F):C?ue(C,F):h?re(h,F):re(g,F));else if(F.placement=\"remaining\",!p(...b))if(m&&C){let X=n.length;X>0&&n[X-1].followingNode!==C&&nn(n,E),n.push(c)}else m?ie(m,F):C?ue(C,F):h?re(h,F):re(g,F)}if(nn(n,t),!o)for(let d of r)delete d.precedingNode,delete d.enclosingNode,delete d.followingNode}var sn=e=>!/[\\S\\n\\u2028\\u2029]/u.test(e);function ni(e,t,r,n){let{comment:u,precedingNode:i}=r[n],{locStart:o,locEnd:s}=t,a=o(u);if(i)for(let D=n-1;D>=0;D--){let{comment:l,precedingNode:p}=r[D];if(p!==i||!sn(e.slice(s(l),a)))break;a=o(l)}return V(e,a,{backwards:!0})}function ui(e,t,r,n){let{comment:u,followingNode:i}=r[n],{locStart:o,locEnd:s}=t,a=s(u);if(i)for(let D=n+1;D<r.length;D++){let{comment:l,followingNode:p}=r[D];if(p!==i||!sn(e.slice(a,o(l))))break;a=s(l)}return V(e,a)}function nn(e,t){var s,a;let r=e.length;if(r===0)return;let{precedingNode:n,followingNode:u}=e[0],i=t.locStart(u),o;for(o=r;o>0;--o){let{comment:D,precedingNode:l,followingNode:p}=e[o-1];Pe.strictEqual(l,n),Pe.strictEqual(p,u);let f=t.originalText.slice(t.locEnd(D),i);if(((a=(s=t.printer).isGap)==null?void 0:a.call(s,f,t))??/^[\\s(]*$/u.test(f))i=t.locStart(D);else break}for(let[D,{comment:l}]of e.entries())D<o?ie(n,l):ue(u,l);for(let D of[n,u])D.comments&&D.comments.length>1&&D.comments.sort((l,p)=>t.locStart(l)-t.locStart(p));e.length=0}function Vt(e,t,r){let n=r.locStart(t)-1;for(let u=1;u<e.length;++u)if(n<r.locStart(e[u]))return u-1;return 0}function ii(e,t){let r=t-1;r=S(e,r,{backwards:!0}),r=W(e,r,{backwards:!0}),r=S(e,r,{backwards:!0});let n=W(e,r,{backwards:!0});return r!==n}var Ie=ii;function an(e,t){let r=e.node;return r.printed=!0,t.printer.printComment(e,t)}function oi(e,t){var l;let r=e.node,n=[an(e,t)],{printer:u,originalText:i,locStart:o,locEnd:s}=t;if((l=u.isBlockComment)==null?void 0:l.call(u,r)){let p=V(i,s(r))?V(i,o(r),{backwards:!0})?K:Qe:\" \";n.push(p)}else n.push(K);let D=W(i,S(i,s(r)));return D!==!1&&V(i,D)&&n.push(K),n}function si(e,t,r){var D;let n=e.node,u=an(e,t),{printer:i,originalText:o,locStart:s}=t,a=(D=i.isBlockComment)==null?void 0:D.call(i,n);if(r!=null&&r.hasLineSuffix&&!(r!=null&&r.isBlock)||V(o,s(n),{backwards:!0})){let l=Ie(o,s(n));return{doc:Te([K,l?K:\"\",u]),isBlock:a,hasLineSuffix:!0}}return!a||r!=null&&r.hasLineSuffix?{doc:[Te([\" \",u]),he],isBlock:a,hasLineSuffix:!0}:{doc:[\" \",u],isBlock:a,hasLineSuffix:!1}}function ai(e,t){let r=e.node;if(!r)return{};let n=t[Symbol.for(\"printedComments\")];if((r.comments||[]).filter(a=>!n.has(a)).length===0)return{leading:\"\",trailing:\"\"};let i=[],o=[],s;return e.each(()=>{let a=e.node;if(n!=null&&n.has(a))return;let{leading:D,trailing:l}=a;D?i.push(oi(e,t)):l&&(s=si(e,t,s),o.push(s.doc))},\"comments\"),{leading:i,trailing:o}}function Dn(e,t,r){let{leading:n,trailing:u}=ai(e,r);return!n&&!u?t:me(t,i=>[n,i,u])}function ln(e){let{[Symbol.for(\"comments\")]:t,[Symbol.for(\"printedComments\")]:r}=e;for(let n of t){if(!n.printed&&!r.has(n))throw new Error('Comment \"'+n.value.trim()+'\" was not printed. Please report this error!');delete n.printed}}function Di(e){return()=>{}}var cn=Di;var Re=class extends Error{name=\"ConfigError\"},Ye=class extends Error{name=\"UndefinedParserError\"};var fn={cursorOffset:{category:\"Special\",type:\"int\",default:-1,range:{start:-1,end:1/0,step:1},description:\"Print (to stderr) where a cursor at the given position would move to after formatting.\",cliCategory:\"Editor\"},endOfLine:{category:\"Global\",type:\"choice\",default:\"lf\",description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:`Maintain existing\n(mixed values within one file are normalised by looking at what's used after the first line)`}]},filepath:{category:\"Special\",type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:\"Other\",cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{category:\"Special\",type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:\"Other\"},parser:{category:\"Global\",type:\"choice\",default:void 0,description:\"Which parser to use.\",exception:e=>typeof e==\"string\"||typeof e==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",description:\"JavaScript\"},{value:\"babel-flow\",description:\"Flow\"},{value:\"babel-ts\",description:\"TypeScript\"},{value:\"typescript\",description:\"TypeScript\"},{value:\"acorn\",description:\"JavaScript\"},{value:\"espree\",description:\"JavaScript\"},{value:\"meriyah\",description:\"JavaScript\"},{value:\"css\",description:\"CSS\"},{value:\"less\",description:\"Less\"},{value:\"scss\",description:\"SCSS\"},{value:\"json\",description:\"JSON\"},{value:\"json5\",description:\"JSON5\"},{value:\"jsonc\",description:\"JSON with Comments\"},{value:\"json-stringify\",description:\"JSON.stringify\"},{value:\"graphql\",description:\"GraphQL\"},{value:\"markdown\",description:\"Markdown\"},{value:\"mdx\",description:\"MDX\"},{value:\"vue\",description:\"Vue\"},{value:\"yaml\",description:\"YAML\"},{value:\"glimmer\",description:\"Ember / Handlebars\"},{value:\"html\",description:\"HTML\"},{value:\"angular\",description:\"Angular\"},{value:\"lwc\",description:\"Lightning Web Components\"}]},plugins:{type:\"path\",array:!0,default:[{value:[]}],category:\"Global\",description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>typeof e==\"string\"||typeof e==\"object\",cliName:\"plugin\",cliCategory:\"Config\"},printWidth:{category:\"Global\",type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{category:\"Special\",type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:`Format code ending at a given character offset (exclusive).\nThe range will extend forwards to the end of the selected statement.`,cliCategory:\"Editor\"},rangeStart:{category:\"Special\",type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:`Format code starting at a given character offset.\nThe range will extend backwards to the start of the first line containing the selected statement.`,cliCategory:\"Editor\"},requirePragma:{category:\"Special\",type:\"boolean\",default:!1,description:`Require either '@prettier' or '@format' to be present in the file's first docblock comment\nin order for it to be formatted.`,cliCategory:\"Other\"},tabWidth:{type:\"int\",category:\"Global\",default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{category:\"Global\",type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{category:\"Global\",type:\"choice\",default:\"auto\",description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};function it({plugins:e=[],showDeprecated:t=!1}={}){let r=e.flatMap(u=>u.languages??[]),n=[];for(let u of ci(Object.assign({},...e.map(({options:i})=>i),fn)))!t&&u.deprecated||(Array.isArray(u.choices)&&(t||(u.choices=u.choices.filter(i=>!i.deprecated)),u.name===\"parser\"&&(u.choices=[...u.choices,...li(u.choices,r,e)])),u.pluginDefaults=Object.fromEntries(e.filter(i=>{var o;return((o=i.defaultOptions)==null?void 0:o[u.name])!==void 0}).map(i=>[i.name,i.defaultOptions[u.name]])),n.push(u));return{languages:r,options:n}}function*li(e,t,r){let n=new Set(e.map(u=>u.value));for(let u of t)if(u.parsers){for(let i of u.parsers)if(!n.has(i)){n.add(i);let o=r.find(a=>a.parsers&&Object.prototype.hasOwnProperty.call(a.parsers,i)),s=u.name;o!=null&&o.name&&(s+=` (plugin: ${o.name})`),yield{value:i,description:s}}}}function ci(e){let t=[];for(let[r,n]of Object.entries(e)){let u={name:r,...n};Array.isArray(u.default)&&(u.default=A(!1,u.default,-1).value),t.push(u)}return t}var fi=e=>String(e).split(/[/\\\\]/u).pop();function dn(e,t){if(!t)return;let r=fi(t).toLowerCase();return e.find(({filenames:n})=>n==null?void 0:n.some(u=>u.toLowerCase()===r))??e.find(({extensions:n})=>n==null?void 0:n.some(u=>r.endsWith(u)))}function di(e,t){if(t)return e.find(({name:r})=>r.toLowerCase()===t)??e.find(({aliases:r})=>r==null?void 0:r.includes(t))??e.find(({extensions:r})=>r==null?void 0:r.includes(`.${t}`))}function pi(e,t){let r=e.plugins.flatMap(u=>u.languages??[]),n=di(r,t.language)??dn(r,t.physicalFile)??dn(r,t.file)??(t.physicalFile,void 0);return n==null?void 0:n.parsers[0]}var pn=pi;var oe={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(e===null||typeof e!=\"object\")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(r=>oe.value(r)).join(\", \")}]`;let t=Object.keys(e);return t.length===0?\"{}\":`{ ${t.map(r=>`${oe.key(r)}: ${oe.value(e[r])}`).join(\", \")} }`},pair:({key:e,value:t})=>oe.value({[e]:t})};var Ut=Me(ot(),1),hn=(e,t,{descriptor:r})=>{let n=[`${Ut.default.yellow(typeof e==\"string\"?r.key(e):r.pair(e))} is deprecated`];return t&&n.push(`we now treat it as ${Ut.default.blue(typeof t==\"string\"?r.key(t):r.pair(t))}`),n.join(\"; \")+\".\"};var ce=Me(ot(),1);var st=Symbol.for(\"vnopts.VALUE_NOT_EXIST\"),ve=Symbol.for(\"vnopts.VALUE_UNCHANGED\");var En=\" \".repeat(2),gn=(e,t,r)=>{let{text:n,list:u}=r.normalizeExpectedResult(r.schemas[e].expected(r)),i=[];return n&&i.push(Cn(e,t,n,r.descriptor)),u&&i.push([Cn(e,t,u.title,r.descriptor)].concat(u.values.map(o=>yn(o,r.loggerPrintWidth))).join(`\n`)),An(i,r.loggerPrintWidth)};function Cn(e,t,r,n){return[`Invalid ${ce.default.red(n.key(e))} value.`,`Expected ${ce.default.blue(r)},`,`but received ${t===st?ce.default.gray(\"nothing\"):ce.default.red(n.value(t))}.`].join(\" \")}function yn({text:e,list:t},r){let n=[];return e&&n.push(`- ${ce.default.blue(e)}`),t&&n.push([`- ${ce.default.blue(t.title)}:`].concat(t.values.map(u=>yn(u,r-En.length).replace(/^|\\n/g,`$&${En}`))).join(`\n`)),An(n,r)}function An(e,t){if(e.length===1)return e[0];let[r,n]=e,[u,i]=e.map(o=>o.split(`\n`,1)[0].length);return u>t&&u>i?n:r}var Kt=Me(ot(),1);var zt=[],vn=[];function Gt(e,t){if(e===t)return 0;let r=e;e.length>t.length&&(e=t,t=r);let n=e.length,u=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-u);)n--,u--;let i=0;for(;i<n&&e.charCodeAt(i)===t.charCodeAt(i);)i++;if(n-=i,u-=i,n===0)return u;let o,s,a,D,l=0,p=0;for(;l<n;)vn[l]=e.charCodeAt(i+l),zt[l]=++l;for(;p<u;)for(o=t.charCodeAt(i+p),a=p++,s=p,l=0;l<n;l++)D=o===vn[l]?a:a+1,a=zt[l],s=zt[l]=a>s?D>s?s+1:D:D>a?a+1:D;return s}var at=(e,t,{descriptor:r,logger:n,schemas:u})=>{let i=[`Ignored unknown option ${Kt.default.yellow(r.pair({key:e,value:t}))}.`],o=Object.keys(u).sort().find(s=>Gt(e,s)<3);o&&i.push(`Did you mean ${Kt.default.blue(r.key(o))}?`),n.warn(i.join(\" \"))};var Fi=[\"default\",\"expected\",\"validate\",\"deprecated\",\"forward\",\"redirect\",\"overlap\",\"preprocess\",\"postprocess\"];function mi(e,t){let r=new e(t),n=Object.create(r);for(let u of Fi)u in t&&(n[u]=hi(t[u],r,x.prototype[u].length));return n}var x=class{static create(t){return mi(this,t)}constructor(t){this.name=t.name}default(t){}expected(t){return\"nothing\"}validate(t,r){return!1}deprecated(t,r){return!1}forward(t,r){}redirect(t,r){}overlap(t,r,n){return t}preprocess(t,r){return t}postprocess(t,r){return ve}};function hi(e,t,r){return typeof e==\"function\"?(...n)=>e(...n.slice(0,r-1),t,...n.slice(r-1)):()=>e}var Dt=class extends x{constructor(t){super(t),this._sourceName=t.sourceName}expected(t){return t.schemas[this._sourceName].expected(t)}validate(t,r){return r.schemas[this._sourceName].validate(t,r)}redirect(t,r){return this._sourceName}};var lt=class extends x{expected(){return\"anything\"}validate(){return!0}};var ct=class extends x{constructor({valueSchema:t,name:r=t.name,...n}){super({...n,name:r}),this._valueSchema=t}expected(t){let{text:r,list:n}=t.normalizeExpectedResult(this._valueSchema.expected(t));return{text:r&&`an array of ${r}`,list:n&&{title:\"an array of the following values\",values:[{list:n}]}}}validate(t,r){if(!Array.isArray(t))return!1;let n=[];for(let u of t){let i=r.normalizeValidateResult(this._valueSchema.validate(u,r),u);i!==!0&&n.push(i.value)}return n.length===0?!0:{value:n}}deprecated(t,r){let n=[];for(let u of t){let i=r.normalizeDeprecatedResult(this._valueSchema.deprecated(u,r),u);i!==!1&&n.push(...i.map(({value:o})=>({value:[o]})))}return n}forward(t,r){let n=[];for(let u of t){let i=r.normalizeForwardResult(this._valueSchema.forward(u,r),u);n.push(...i.map(Bn))}return n}redirect(t,r){let n=[],u=[];for(let i of t){let o=r.normalizeRedirectResult(this._valueSchema.redirect(i,r),i);\"remain\"in o&&n.push(o.remain),u.push(...o.redirect.map(Bn))}return n.length===0?{redirect:u}:{redirect:u,remain:n}}overlap(t,r){return t.concat(r)}};function Bn({from:e,to:t}){return{from:[e],to:t}}var ft=class extends x{expected(){return\"true or false\"}validate(t){return typeof t==\"boolean\"}};function _n(e,t){let r=Object.create(null);for(let n of e){let u=n[t];if(r[u])throw new Error(`Duplicate ${t} ${JSON.stringify(u)}`);r[u]=n}return r}function xn(e,t){let r=new Map;for(let n of e){let u=n[t];if(r.has(u))throw new Error(`Duplicate ${t} ${JSON.stringify(u)}`);r.set(u,n)}return r}function bn(){let e=Object.create(null);return t=>{let r=JSON.stringify(t);return e[r]?!0:(e[r]=!0,!1)}}function Nn(e,t){let r=[],n=[];for(let u of e)t(u)?r.push(u):n.push(u);return[r,n]}function On(e){return e===Math.floor(e)}function Sn(e,t){if(e===t)return 0;let r=typeof e,n=typeof t,u=[\"undefined\",\"object\",\"boolean\",\"number\",\"string\"];return r!==n?u.indexOf(r)-u.indexOf(n):r!==\"string\"?Number(e)-Number(t):e.localeCompare(t)}function Tn(e){return(...t)=>{let r=e(...t);return typeof r==\"string\"?new Error(r):r}}function Jt(e){return e===void 0?{}:e}function qt(e){if(typeof e==\"string\")return{text:e};let{text:t,list:r}=e;return Ei((t||r)!==void 0,\"Unexpected `expected` result, there should be at least one field.\"),r?{text:t,list:{title:r.title,values:r.values.map(qt)}}:{text:t}}function Xt(e,t){return e===!0?!0:e===!1?{value:t}:e}function Qt(e,t,r=!1){return e===!1?!1:e===!0?r?!0:[{value:t}]:\"value\"in e?[e]:e.length===0?!1:e}function wn(e,t){return typeof e==\"string\"||\"key\"in e?{from:t,to:e}:\"from\"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function dt(e,t){return e===void 0?[]:Array.isArray(e)?e.map(r=>wn(r,t)):[wn(e,t)]}function Zt(e,t){let r=dt(typeof e==\"object\"&&\"redirect\"in e?e.redirect:e,t);return r.length===0?{remain:t,redirect:r}:typeof e==\"object\"&&\"remain\"in e?{remain:e.remain,redirect:r}:{redirect:r}}function Ei(e,t){if(!e)throw new Error(t)}var pt=class extends x{constructor(t){super(t),this._choices=xn(t.choices.map(r=>r&&typeof r==\"object\"?r:{value:r}),\"value\")}expected({descriptor:t}){let r=Array.from(this._choices.keys()).map(o=>this._choices.get(o)).filter(({hidden:o})=>!o).map(o=>o.value).sort(Sn).map(t.value),n=r.slice(0,-2),u=r.slice(-2);return{text:n.concat(u.join(\" or \")).join(\", \"),list:{title:\"one of the following values\",values:r}}}validate(t){return this._choices.has(t)}deprecated(t){let r=this._choices.get(t);return r&&r.deprecated?{value:t}:!1}forward(t){let r=this._choices.get(t);return r?r.forward:void 0}redirect(t){let r=this._choices.get(t);return r?r.redirect:void 0}};var Ft=class extends x{expected(){return\"a number\"}validate(t,r){return typeof t==\"number\"}};var mt=class extends Ft{expected(){return\"an integer\"}validate(t,r){return r.normalizeValidateResult(super.validate(t,r),t)===!0&&On(t)}};var je=class extends x{expected(){return\"a string\"}validate(t){return typeof t==\"string\"}};var kn=oe,Ln=at,Pn=gn,In=hn;var ht=class{constructor(t,r){let{logger:n=console,loggerPrintWidth:u=80,descriptor:i=kn,unknown:o=Ln,invalid:s=Pn,deprecated:a=In,missing:D=()=>!1,required:l=()=>!1,preprocess:p=d=>d,postprocess:f=()=>ve}=r||{};this._utils={descriptor:i,logger:n||{warn:()=>{}},loggerPrintWidth:u,schemas:_n(t,\"name\"),normalizeDefaultResult:Jt,normalizeExpectedResult:qt,normalizeDeprecatedResult:Qt,normalizeForwardResult:dt,normalizeRedirectResult:Zt,normalizeValidateResult:Xt},this._unknownHandler=o,this._invalidHandler=Tn(s),this._deprecatedHandler=a,this._identifyMissing=(d,c)=>!(d in c)||D(d,c),this._identifyRequired=l,this._preprocess=p,this._postprocess=f,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=bn()}normalize(t){let r={},u=[this._preprocess(t,this._utils)],i=()=>{for(;u.length!==0;){let o=u.shift(),s=this._applyNormalization(o,r);u.push(...s)}};i();for(let o of Object.keys(this._utils.schemas)){let s=this._utils.schemas[o];if(!(o in r)){let a=Jt(s.default(this._utils));\"value\"in a&&u.push({[o]:a.value})}}i();for(let o of Object.keys(this._utils.schemas)){if(!(o in r))continue;let s=this._utils.schemas[o],a=r[o],D=s.postprocess(a,this._utils);D!==ve&&(this._applyValidation(D,o,s),r[o]=D)}return this._applyPostprocess(r),this._applyRequiredCheck(r),r}_applyNormalization(t,r){let n=[],{knownKeys:u,unknownKeys:i}=this._partitionOptionKeys(t);for(let o of u){let s=this._utils.schemas[o],a=s.preprocess(t[o],this._utils);this._applyValidation(a,o,s);let D=({from:d,to:c})=>{n.push(typeof c==\"string\"?{[c]:d}:{[c.key]:c.value})},l=({value:d,redirectTo:c})=>{let F=Qt(s.deprecated(d,this._utils),a,!0);if(F!==!1)if(F===!0)this._hasDeprecationWarned(o)||this._utils.logger.warn(this._deprecatedHandler(o,c,this._utils));else for(let{value:m}of F){let h={key:o,value:m};if(!this._hasDeprecationWarned(h)){let C=typeof c==\"string\"?{key:c,value:m}:c;this._utils.logger.warn(this._deprecatedHandler(h,C,this._utils))}}};dt(s.forward(a,this._utils),a).forEach(D);let f=Zt(s.redirect(a,this._utils),a);if(f.redirect.forEach(D),\"remain\"in f){let d=f.remain;r[o]=o in r?s.overlap(r[o],d,this._utils):d,l({value:d})}for(let{from:d,to:c}of f.redirect)l({value:d,redirectTo:c})}for(let o of i){let s=t[o];this._applyUnknownHandler(o,s,r,(a,D)=>{n.push({[a]:D})})}return n}_applyRequiredCheck(t){for(let r of Object.keys(this._utils.schemas))if(this._identifyMissing(r,t)&&this._identifyRequired(r))throw this._invalidHandler(r,st,this._utils)}_partitionOptionKeys(t){let[r,n]=Nn(Object.keys(t).filter(u=>!this._identifyMissing(u,t)),u=>u in this._utils.schemas);return{knownKeys:r,unknownKeys:n}}_applyValidation(t,r,n){let u=Xt(n.validate(t,this._utils),t);if(u!==!0)throw this._invalidHandler(r,u.value,this._utils)}_applyUnknownHandler(t,r,n,u){let i=this._unknownHandler(t,r,this._utils);if(i)for(let o of Object.keys(i)){if(this._identifyMissing(o,i))continue;let s=i[o];o in this._utils.schemas?u(o,s):n[o]=s}}_applyPostprocess(t){let r=this._postprocess(t,this._utils);if(r!==ve){if(r.delete)for(let n of r.delete)delete t[n];if(r.override){let{knownKeys:n,unknownKeys:u}=this._partitionOptionKeys(r.override);for(let i of n){let o=r.override[i];this._applyValidation(o,i,this._utils.schemas[i]),t[i]=o}for(let i of u){let o=r.override[i];this._applyUnknownHandler(i,o,t,(s,a)=>{let D=this._utils.schemas[s];this._applyValidation(a,s,D),t[s]=a})}}}}};var er;function gi(e,t,{logger:r=!1,isCLI:n=!1,passThrough:u=!1,FlagSchema:i,descriptor:o}={}){if(n){if(!i)throw new Error(\"'FlagSchema' option is required.\");if(!o)throw new Error(\"'descriptor' option is required.\")}else o=oe;let s=u?Array.isArray(u)?(f,d)=>u.includes(f)?{[f]:d}:void 0:(f,d)=>({[f]:d}):(f,d,c)=>{let{_:F,...m}=c.schemas;return at(f,d,{...c,schemas:m})},a=yi(t,{isCLI:n,FlagSchema:i}),D=new ht(a,{logger:r,unknown:s,descriptor:o}),l=r!==!1;l&&er&&(D._hasDeprecationWarned=er);let p=D.normalize(e);return l&&(er=D._hasDeprecationWarned),p}function yi(e,{isCLI:t,FlagSchema:r}){let n=[];t&&n.push(lt.create({name:\"_\"}));for(let u of e)n.push(Ai(u,{isCLI:t,optionInfos:e,FlagSchema:r})),u.alias&&t&&n.push(Dt.create({name:u.alias,sourceName:u.name}));return n}function Ai(e,{isCLI:t,optionInfos:r,FlagSchema:n}){let{name:u}=e,i={name:u},o,s={};switch(e.type){case\"int\":o=mt,t&&(i.preprocess=Number);break;case\"string\":o=je;break;case\"choice\":o=pt,i.choices=e.choices.map(a=>a!=null&&a.redirect?{...a,redirect:{to:{key:e.name,value:a.redirect}}}:a);break;case\"boolean\":o=ft;break;case\"flag\":o=n,i.flags=r.flatMap(a=>[a.alias,a.description&&a.name,a.oppositeDescription&&`no-${a.name}`].filter(Boolean));break;case\"path\":o=je;break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?i.validate=(a,D,l)=>e.exception(a)||D.validate(a,l):i.validate=(a,D,l)=>a===void 0||D.validate(a,l),e.redirect&&(s.redirect=a=>a?{to:typeof e.redirect==\"string\"?e.redirect:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(s.deprecated=!0),t&&!e.array){let a=i.preprocess||(D=>D);i.preprocess=(D,l,p)=>l.preprocess(a(Array.isArray(D)?A(!1,D,-1):D),p)}return e.array?ct.create({...t?{preprocess:a=>Array.isArray(a)?a:[a]}:{},...s,valueSchema:o.create(i)}):o.create({...i,...s})}var Rn=gi;var vi=(e,t,r)=>{if(!(e&&t==null)){if(t.findLast)return t.findLast(r);for(let n=t.length-1;n>=0;n--){let u=t[n];if(r(u,n,t))return u}}},tr=vi;function rr(e,t){if(!t)throw new Error(\"parserName is required.\");let r=tr(!1,e,u=>u.parsers&&Object.prototype.hasOwnProperty.call(u.parsers,t));if(r)return r;let n=`Couldn't resolve parser \"${t}\".`;throw n+=\" Plugins must be explicitly added to the standalone bundle.\",new Re(n)}function Yn(e,t){if(!t)throw new Error(\"astFormat is required.\");let r=tr(!1,e,u=>u.printers&&Object.prototype.hasOwnProperty.call(u.printers,t));if(r)return r;let n=`Couldn't find plugin for AST format \"${t}\".`;throw n+=\" Plugins must be explicitly added to the standalone bundle.\",new Re(n)}function Et({plugins:e,parser:t}){let r=rr(e,t);return nr(r,t)}function nr(e,t){let r=e.parsers[t];return typeof r==\"function\"?r():r}function jn(e,t){let r=e.printers[t];return typeof r==\"function\"?r():r}var Hn={astFormat:\"estree\",printer:{},originalText:void 0,locStart:null,locEnd:null};async function Bi(e,t={}){var p;let r={...e};if(!r.parser)if(r.filepath){if(r.parser=pn(r,{physicalFile:r.filepath}),!r.parser)throw new Ye(`No parser could be inferred for file \"${r.filepath}\".`)}else throw new Ye(\"No parser and no file path given, couldn't infer a parser.\");let n=it({plugins:e.plugins,showDeprecated:!0}).options,u={...Hn,...Object.fromEntries(n.filter(f=>f.default!==void 0).map(f=>[f.name,f.default]))},i=rr(r.plugins,r.parser),o=await nr(i,r.parser);r.astFormat=o.astFormat,r.locEnd=o.locEnd,r.locStart=o.locStart;let s=(p=i.printers)!=null&&p[o.astFormat]?i:Yn(r.plugins,o.astFormat),a=await jn(s,o.astFormat);r.printer=a;let D=s.defaultOptions?Object.fromEntries(Object.entries(s.defaultOptions).filter(([,f])=>f!==void 0)):{},l={...u,...D};for(let[f,d]of Object.entries(l))(r[f]===null||r[f]===void 0)&&(r[f]=d);return r.parser===\"json\"&&(r.trailingComma=\"none\"),Rn(r,n,{passThrough:Object.keys(Hn),...t})}var se=Bi;var Mn=Me($n(),1);async function bi(e,t){let r=await Et(t),n=r.preprocess?r.preprocess(e,t):e;t.originalText=n;let u;try{u=await r.parse(n,t,t)}catch(i){Ni(i,e)}return{text:n,ast:u}}function Ni(e,t){let{loc:r}=e;if(r){let n=(0,Mn.codeFrameColumns)(t,r,{highlightCode:!0});throw e.message+=`\n`+n,e.codeFrame=n,e}throw e}var fe=bi;async function Vn(e,t,r,n,u){let{embeddedLanguageFormatting:i,printer:{embed:o,hasPrettierIgnore:s=()=>!1,getVisitorKeys:a}}=r;if(!o||i!==\"auto\")return;if(o.length>2)throw new Error(\"printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/plugins#optional-embed\");let D=q(o.getVisitorKeys??a),l=[];d();let p=e.stack;for(let{print:c,node:F,pathStack:m}of l)try{e.stack=m;let h=await c(f,t,e,r);h&&u.set(F,h)}catch(h){if(globalThis.PRETTIER_DEBUG)throw h}e.stack=p;function f(c,F){return Oi(c,F,r,n)}function d(){let{node:c}=e;if(c===null||typeof c!=\"object\"||s(e))return;for(let m of D(c))Array.isArray(c[m])?e.each(d,m):e.call(d,m);let F=o(e,r);if(F){if(typeof F==\"function\"){l.push({print:F,node:c,pathStack:[...e.stack]});return}u.set(c,F)}}}async function Oi(e,t,r,n){let u=await se({...r,...t,parentParser:r.parser,originalText:e},{passThrough:!0}),{ast:i}=await fe(e,u),o=await n(i,u);return qe(o)}function Si(e,t){let{originalText:r,[Symbol.for(\"comments\")]:n,locStart:u,locEnd:i,[Symbol.for(\"printedComments\")]:o}=t,{node:s}=e,a=u(s),D=i(s);for(let l of n)u(l)>=a&&i(l)<=D&&o.add(l);return r.slice(a,D)}var Un=Si;async function He(e,t){({ast:e}=await ir(e,t));let r=new Map,n=new qr(e),u=cn(t),i=new Map;await Vn(n,s,t,He,i);let o=await zn(n,t,s,void 0,i);if(ln(t),t.nodeAfterCursor&&!t.nodeBeforeCursor)return[Z,o];if(t.nodeBeforeCursor&&!t.nodeAfterCursor)return[o,Z];return o;function s(D,l){return D===void 0||D===n?a(l):Array.isArray(D)?n.call(()=>a(l),...D):n.call(()=>a(l),D)}function a(D){u(n);let l=n.node;if(l==null)return\"\";let p=l&&typeof l==\"object\"&&D===void 0;if(p&&r.has(l))return r.get(l);let f=zn(n,t,s,D,i);return p&&r.set(l,f),f}}function zn(e,t,r,n,u){var a;let{node:i}=e,{printer:o}=t,s;switch((a=o.hasPrettierIgnore)!=null&&a.call(o,e)?s=Un(e,t):u.has(i)?s=u.get(i):s=o.print(e,t,r,n),i){case t.cursorNode:s=me(s,D=>[Z,D,Z]);break;case t.nodeBeforeCursor:s=me(s,D=>[D,Z]);break;case t.nodeAfterCursor:s=me(s,D=>[Z,D]);break}return o.printComment&&(!o.willPrintOwnComments||!o.willPrintOwnComments(e,t))&&(s=Dn(e,s,t)),s}async function ir(e,t){let r=e.comments??[];t[Symbol.for(\"comments\")]=r,t[Symbol.for(\"tokens\")]=e.tokens??[],t[Symbol.for(\"printedComments\")]=new Set,on(e,t);let{printer:{preprocess:n}}=t;return e=n?await n(e,t):e,{ast:e,comments:r}}function Ti(e,t){let{cursorOffset:r,locStart:n,locEnd:u}=t,i=q(t.printer.getVisitorKeys),o=d=>n(d)<=r&&u(d)>=r,s=e,a=[e];for(let d of Zr(e,{getVisitorKeys:i,filter:o}))a.push(d),s=d;if(en(s,{getVisitorKeys:i}))return{cursorNode:s};let D,l,p=-1,f=Number.POSITIVE_INFINITY;for(;a.length>0&&(D===void 0||l===void 0);){s=a.pop();let d=D!==void 0,c=l!==void 0;for(let F of ye(s,{getVisitorKeys:i})){if(!d){let m=u(F);m<=r&&m>p&&(D=F,p=m)}if(!c){let m=n(F);m>=r&&m<f&&(l=F,f=m)}}}return{nodeBeforeCursor:D,nodeAfterCursor:l}}var Gn=Ti;function ki(e,t){let{printer:{massageAstNode:r,getVisitorKeys:n}}=t;if(!r)return e;let u=q(n),i=r.ignoredProperties??new Set;return o(e);function o(s,a){if(!(s!==null&&typeof s==\"object\"))return s;if(Array.isArray(s))return s.map(f=>o(f,a)).filter(Boolean);let D={},l=new Set(u(s));for(let f in s)!Object.prototype.hasOwnProperty.call(s,f)||i.has(f)||(l.has(f)?D[f]=o(s[f],s):D[f]=s[f]);let p=r(s,D,a);if(p!==null)return p??D}}var Kn=ki;var Li=(e,t,r)=>{if(!(e&&t==null)){if(t.findLastIndex)return t.findLastIndex(r);for(let n=t.length-1;n>=0;n--){let u=t[n];if(r(u,n,t))return n}return-1}},Jn=Li;var Pi=({parser:e})=>e===\"json\"||e===\"json5\"||e===\"jsonc\"||e===\"json-stringify\";function Ii(e,t){let r=[e.node,...e.parentNodes],n=new Set([t.node,...t.parentNodes]);return r.find(u=>Qn.has(u.type)&&n.has(u))}function qn(e){let t=Jn(!1,e,r=>r.type!==\"Program\"&&r.type!==\"File\");return t===-1?e:e.slice(0,t+1)}function Ri(e,t,{locStart:r,locEnd:n}){let u=e.node,i=t.node;if(u===i)return{startNode:u,endNode:i};let o=r(e.node);for(let a of qn(t.parentNodes))if(r(a)>=o)i=a;else break;let s=n(t.node);for(let a of qn(e.parentNodes)){if(n(a)<=s)u=a;else break;if(u===i)break}return{startNode:u,endNode:i}}function or(e,t,r,n,u=[],i){let{locStart:o,locEnd:s}=r,a=o(e),D=s(e);if(!(t>D||t<a||i===\"rangeEnd\"&&t===a||i===\"rangeStart\"&&t===D)){for(let l of ut(e,r)){let p=or(l,t,r,n,[e,...u],i);if(p)return p}if(!n||n(e,u[0]))return{node:e,parentNodes:u}}}function Yi(e,t){return t!==\"DeclareExportDeclaration\"&&e!==\"TypeParameterDeclaration\"&&(e===\"Directive\"||e===\"TypeAlias\"||e===\"TSExportAssignment\"||e.startsWith(\"Declare\")||e.startsWith(\"TSDeclare\")||e.endsWith(\"Statement\")||e.endsWith(\"Declaration\"))}var Qn=new Set([\"JsonRoot\",\"ObjectExpression\",\"ArrayExpression\",\"StringLiteral\",\"NumericLiteral\",\"BooleanLiteral\",\"NullLiteral\",\"UnaryExpression\",\"TemplateLiteral\"]),ji=new Set([\"OperationDefinition\",\"FragmentDefinition\",\"VariableDefinition\",\"TypeExtensionDefinition\",\"ObjectTypeDefinition\",\"FieldDefinition\",\"DirectiveDefinition\",\"EnumTypeDefinition\",\"EnumValueDefinition\",\"InputValueDefinition\",\"InputObjectTypeDefinition\",\"SchemaDefinition\",\"OperationTypeDefinition\",\"InterfaceTypeDefinition\",\"UnionTypeDefinition\",\"ScalarTypeDefinition\"]);function Xn(e,t,r){if(!t)return!1;switch(e.parser){case\"flow\":case\"babel\":case\"babel-flow\":case\"babel-ts\":case\"typescript\":case\"acorn\":case\"espree\":case\"meriyah\":case\"__babel_estree\":return Yi(t.type,r==null?void 0:r.type);case\"json\":case\"json5\":case\"jsonc\":case\"json-stringify\":return Qn.has(t.type);case\"graphql\":return ji.has(t.kind);case\"vue\":return t.tag!==\"root\"}return!1}function Zn(e,t,r){let{rangeStart:n,rangeEnd:u,locStart:i,locEnd:o}=t;Pe.ok(u>n);let s=e.slice(n,u).search(/\\S/u),a=s===-1;if(!a)for(n+=s;u>n&&!/\\S/u.test(e[u-1]);--u);let D=or(r,n,t,(d,c)=>Xn(t,d,c),[],\"rangeStart\"),l=a?D:or(r,u,t,d=>Xn(t,d),[],\"rangeEnd\");if(!D||!l)return{rangeStart:0,rangeEnd:0};let p,f;if(Pi(t)){let d=Ii(D,l);p=d,f=d}else({startNode:p,endNode:f}=Ri(D,l,t));return{rangeStart:Math.min(i(p),i(f)),rangeEnd:Math.max(o(p),o(f))}}var nu=\"\\uFEFF\",eu=Symbol(\"cursor\");async function uu(e,t,r=0){if(!e||e.trim().length===0)return{formatted:\"\",cursorOffset:-1,comments:[]};let{ast:n,text:u}=await fe(e,t);t.cursorOffset>=0&&(t={...t,...Gn(n,t)});let i=await He(n,t,r);r>0&&(i=Ze([K,i],r,t.tabWidth));let o=Ce(i,t);if(r>0){let a=o.formatted.trim();o.cursorNodeStart!==void 0&&(o.cursorNodeStart-=o.formatted.indexOf(a),o.cursorNodeStart<0&&(o.cursorNodeStart=0,o.cursorNodeText=o.cursorNodeText.trimStart()),o.cursorNodeStart+o.cursorNodeText.length>a.length&&(o.cursorNodeText=o.cursorNodeText.trimEnd())),o.formatted=a+be(t.endOfLine)}let s=t[Symbol.for(\"comments\")];if(t.cursorOffset>=0){let a,D,l,p;if((t.cursorNode||t.nodeBeforeCursor||t.nodeAfterCursor)&&o.cursorNodeText)if(l=o.cursorNodeStart,p=o.cursorNodeText,t.cursorNode)a=t.locStart(t.cursorNode),D=u.slice(a,t.locEnd(t.cursorNode));else{if(!t.nodeBeforeCursor&&!t.nodeAfterCursor)throw new Error(\"Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor\");a=t.nodeBeforeCursor?t.locEnd(t.nodeBeforeCursor):0;let h=t.nodeAfterCursor?t.locStart(t.nodeAfterCursor):u.length;D=u.slice(a,h)}else a=0,D=u,l=0,p=o.formatted;let f=t.cursorOffset-a;if(D===p)return{formatted:o.formatted,cursorOffset:l+f,comments:s};let d=D.split(\"\");d.splice(f,0,eu);let c=p.split(\"\"),F=yr(d,c),m=l;for(let h of F)if(h.removed){if(h.value.includes(eu))break}else m+=h.count;return{formatted:o.formatted,cursorOffset:m,comments:s}}return{formatted:o.formatted,cursorOffset:-1,comments:s}}async function Hi(e,t){let{ast:r,text:n}=await fe(e,t),{rangeStart:u,rangeEnd:i}=Zn(n,t,r),o=n.slice(u,i),s=Math.min(u,n.lastIndexOf(`\n`,u)+1),a=n.slice(s,u).match(/^\\s*/u)[0],D=ge(a,t.tabWidth),l=await uu(o,{...t,rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:t.cursorOffset>u&&t.cursorOffset<=i?t.cursorOffset-u:-1,endOfLine:\"lf\"},D),p=l.formatted.trimEnd(),{cursorOffset:f}=t;f>i?f+=p.length-o.length:l.cursorOffset>=0&&(f=l.cursorOffset+u);let d=n.slice(0,u)+p+n.slice(i);if(t.endOfLine!==\"lf\"){let c=be(t.endOfLine);f>=0&&c===`\\r\n`&&(f+=Nt(d.slice(0,f),`\n`)),d=ne(!1,d,`\n`,c)}return{formatted:d,cursorOffset:f,comments:l.comments}}function sr(e,t,r){return typeof t!=\"number\"||Number.isNaN(t)||t<0||t>e.length?r:t}function tu(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:u}=t;return r=sr(e,r,-1),n=sr(e,n,0),u=sr(e,u,e.length),{...t,cursorOffset:r,rangeStart:n,rangeEnd:u}}function iu(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:u,endOfLine:i}=tu(e,t),o=e.charAt(0)===nu;if(o&&(e=e.slice(1),r--,n--,u--),i===\"auto\"&&(i=Ar(e)),e.includes(\"\\r\")){let s=a=>Nt(e.slice(0,Math.max(a,0)),`\\r\n`);r-=s(r),n-=s(n),u-=s(u),e=vr(e)}return{hasBOM:o,text:e,options:tu(e,{...t,cursorOffset:r,rangeStart:n,rangeEnd:u,endOfLine:i})}}async function ru(e,t){let r=await Et(t);return!r.hasPragma||r.hasPragma(e)}async function ar(e,t){let{hasBOM:r,text:n,options:u}=iu(e,await se(t));if(u.rangeStart>=u.rangeEnd&&n!==\"\"||u.requirePragma&&!await ru(n,u))return{formatted:e,cursorOffset:t.cursorOffset,comments:[]};let i;return u.rangeStart>0||u.rangeEnd<n.length?i=await Hi(n,u):(!u.requirePragma&&u.insertPragma&&u.printer.insertPragma&&!await ru(n,u)&&(n=u.printer.insertPragma(n)),i=await uu(n,u)),r&&(i.formatted=nu+i.formatted,i.cursorOffset>=0&&i.cursorOffset++),i}async function ou(e,t,r){let{text:n,options:u}=iu(e,await se(t)),i=await fe(n,u);return r&&(r.preprocessForPrint&&(i.ast=await ir(i.ast,u)),r.massage&&(i.ast=Kn(i.ast,u))),i}async function su(e,t){t=await se(t);let r=await He(e,t);return Ce(r,t)}async function au(e,t){let r=Vr(e),{formatted:n}=await ar(r,{...t,parser:\"__js_expression\"});return n}async function Du(e,t){t=await se(t);let{ast:r}=await fe(e,t);return He(r,t)}async function lu(e,t){return Ce(e,await se(t))}var Dr={};vt(Dr,{builders:()=>$i,printer:()=>Mi,utils:()=>Vi});var $i={join:Se,line:Qe,softline:$r,hardline:K,literalline:Xe,group:kt,conditionalGroup:Ir,fill:Rr,lineSuffix:Te,lineSuffixBoundary:Hr,cursor:Z,breakParent:he,ifBreak:Yr,trim:Wr,indent:le,indentIfBreak:jr,align:De,addAlignmentToDoc:Ze,markAsRoot:Lr,dedentToRoot:kr,dedent:Pr,hardlineWithoutBreakParent:ke,literallineWithoutBreakParent:Lt,label:Mr,concat:e=>e},Mi={printDocToString:Ce},Vi={willBreak:xr,traverseDoc:Fe,findInDoc:Je,mapDoc:Oe,removeLines:Nr,stripTrailingHardline:qe,replaceEndOfLine:Or,canBreak:Sr};var cu=\"3.5.3\";var cr={};vt(cr,{addDanglingComment:()=>re,addLeadingComment:()=>ue,addTrailingComment:()=>ie,getAlignmentSize:()=>ge,getIndentSize:()=>fu,getMaxContinuousCount:()=>du,getNextNonSpaceNonCommentCharacter:()=>pu,getNextNonSpaceNonCommentCharacterIndex:()=>no,getPreferredQuote:()=>mu,getStringWidth:()=>Le,hasNewline:()=>V,hasNewlineInRange:()=>hu,hasSpaces:()=>Eu,isNextLineEmpty:()=>so,isNextLineEmptyAfterIndex:()=>Ct,isPreviousLineEmpty:()=>io,makeString:()=>Cu,skip:()=>Ae,skipEverythingButNewLine:()=>nt,skipInlineComment:()=>Be,skipNewline:()=>W,skipSpaces:()=>S,skipToLineEnd:()=>rt,skipTrailingComment:()=>we,skipWhitespace:()=>tn});function Ui(e,t){if(t===!1)return!1;if(e.charAt(t)===\"/\"&&e.charAt(t+1)===\"*\"){for(let r=t+2;r<e.length;++r)if(e.charAt(r)===\"*\"&&e.charAt(r+1)===\"/\")return r+2}return t}var Be=Ui;function zi(e,t){return t===!1?!1:e.charAt(t)===\"/\"&&e.charAt(t+1)===\"/\"?nt(e,t):t}var we=zi;function Gi(e,t){let r=null,n=t;for(;n!==r;)r=n,n=S(e,n),n=Be(e,n),n=we(e,n),n=W(e,n);return n}var We=Gi;function Ki(e,t){let r=null,n=t;for(;n!==r;)r=n,n=rt(e,n),n=Be(e,n),n=S(e,n);return n=we(e,n),n=W(e,n),n!==!1&&V(e,n)}var Ct=Ki;function Ji(e,t){let r=e.lastIndexOf(`\n`);return r===-1?0:ge(e.slice(r+1).match(/^[\\t ]*/u)[0],t)}var fu=Ji;function lr(e){if(typeof e!=\"string\")throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")}function qi(e,t){let r=e.match(new RegExp(`(${lr(t)})+`,\"gu\"));return r===null?0:r.reduce((n,u)=>Math.max(n,u.length/t.length),0)}var du=qi;function Xi(e,t){let r=We(e,t);return r===!1?\"\":e.charAt(r)}var pu=Xi;var gt=\"'\",Fu='\"';function Qi(e,t){let r=t===!0||t===gt?gt:Fu,n=r===gt?Fu:gt,u=0,i=0;for(let o of e)o===r?u++:o===n&&i++;return u>i?n:r}var mu=Qi;function Zi(e,t,r){for(let n=t;n<r;++n)if(e.charAt(n)===`\n`)return!0;return!1}var hu=Zi;function eo(e,t,r={}){return S(e,r.backwards?t-1:t,r)!==t}var Eu=eo;function to(e,t,r){let n=t==='\"'?\"'\":'\"',i=ne(!1,e,/\\\\(.)|([\"'])/gsu,(o,s,a)=>s===n?s:a===t?\"\\\\\"+a:a||(r&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/u.test(s)?s:\"\\\\\"+s));return t+i+t}var Cu=to;function ro(e,t,r){return We(e,r(t))}function no(e,t){return arguments.length===2||typeof t==\"number\"?We(e,t):ro(...arguments)}function uo(e,t,r){return Ie(e,r(t))}function io(e,t){return arguments.length===2||typeof t==\"number\"?Ie(e,t):uo(...arguments)}function oo(e,t,r){return Ct(e,r(t))}function so(e,t){return arguments.length===2||typeof t==\"number\"?Ct(e,t):oo(...arguments)}function de(e,t=1){return async(...r)=>{let n=r[t]??{},u=n.plugins??[];return r[t]={...n,plugins:Array.isArray(u)?u:Object.values(u)},e(...r)}}var gu=de(ar);async function yu(e,t){let{formatted:r}=await gu(e,{...t,cursorOffset:-1});return r}async function ao(e,t){return await yu(e,t)===e}var Do=de(it,0),lo={parse:de(ou),formatAST:de(su),formatDoc:de(au),printToDoc:de(Du),printDocToString:de(lu)};var mc=fr;export{lo as __debug,ao as check,mc as default,Dr as doc,yu as format,gu as formatWithCursor,Do as getSupportInfo,cr as util,cu as version};\n"],"names":["Au","At","vu","Bu","wu","_u","dr","pr","t","vt","r","xu","n","u","Me","bu","Fr","pe","ot","Da","mn","Fn","$n","ur","wi","e","Wn","_i","i","o","s","a","D","l","p","f","d","c","F","m","h","xi","C","v","E","g","j","fr","lo","ao","Dr","yu","gu","Do","cr","cu","Nu","ne","U","mr","b","X","ae","$e","hr","Er","Bt","wt","_e","Ve","Cr","Ou","Ue","Su","Ge","gr","Tu","bt","ku","Lu","_t","xe","xt","ze","yr","Ar","be","Nt","vr","$","H","z","T","k","L","B","N","w","P","I","R","y","O","_","Ke","Pu","A","Iu","M","Ru","Yu","Ot","__publicField","Q","Br","ju","Fe","Oe","Je","Hu","xr","wr","br","Wu","Nr","_r","Ne","qe","Mu","$u","Or","Xe","Se","Vu","Sr","me","St","Tt","le","De","kt","kr","Lr","Pr","Ir","Rr","Yr","jr","Te","Hr","he","Wr","ke","Lt","Qe","$r","K","Z","Ze","Mr","ee","Vr","Ur","zr","Gr","Kr","Uu","zu","Le","Y","J","Ee","Pt","Jr","Gu","It","Ku","Rt","et","Ce","yt","Ju","ge","te","jt","tt","Yt","qr","Xr","Pe","qu","Qr","ye","Zr","en","Ae","tn","S","rt","nt","Xu","W","Qu","Zu","Ht","rn","ei","ti","q","ri","Wt","ue","re","ie","$t","ut","un","Vt","Mt","on","ni","ui","nn","sn","ii","Ie","an","oi","si","ai","Dn","Re","Ye","fn","it","ci","li","fi","dn","di","pi","pn","oe","Ut","hn","ce","st","En","Cn","yn","An","Kt","zt","vn","Gt","at","Fi","mi","hi","x","Dt","lt","ct","Bn","ft","_n","bn","Nn","On","Sn","Jt","qt","Ei","Xt","Qt","wn","dt","Zt","pt","Ft","mt","je","kn","Ln","Pn","In","ht","er","gi","yi","Ai","Rn","vi","tr","rr","Yn","Et","nr","jn","Hn","Bi","Mn","bi","Ni","fe","Vn","Oi","Si","Un","He","ir","zn","Ti","Gn","ki","Kn","Li","Jn","Pi","Ii","Qn","qn","Ri","or","Yi","ji","Xn","Zn","nu","eu","uu","Hi","sr","tu","iu","ru","ar","ou","su","au","Du","lu","$i","Mi","Vi","fu","du","pu","no","mu","hu","Eu","so","Ct","io","Cu","Be","we","Ui","zi","Gi","We","Ki","Ji","lr","qi","Xi","gt","Fu","Qi","Zi","eo","to","ro","uo","oo","de"],"mappings":"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,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,KAAG,SAAO,MAAI,SAAO,MAAI,SAAO,KAAG,SAAO,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,KAAG,UAAQ,MAAI,UAAQ,MAAI,UAAQ,KAAG,UAAQ,KAAG,UAAQ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","x_google_ignoreList":[0]}