@usine/server 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +42 -1
  2. package/dist/backend.d.ts +12 -9
  3. package/dist/backend.d.ts.map +1 -1
  4. package/dist/backend.js +6 -2
  5. package/dist/backend.js.map +1 -1
  6. package/dist/backup.d.ts +4 -0
  7. package/dist/backup.d.ts.map +1 -0
  8. package/dist/backup.js +13 -0
  9. package/dist/backup.js.map +1 -0
  10. package/dist/cli.d.ts +36 -7
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +115 -28
  13. package/dist/cli.js.map +1 -1
  14. package/dist/export-run.d.ts +22 -0
  15. package/dist/export-run.d.ts.map +1 -0
  16. package/dist/export-run.js +85 -0
  17. package/dist/export-run.js.map +1 -0
  18. package/dist/http.d.ts.map +1 -1
  19. package/dist/http.js +94 -138
  20. package/dist/http.js.map +1 -1
  21. package/dist/index.d.ts +1 -7
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -7
  24. package/dist/index.js.map +1 -1
  25. package/dist/main.js +18 -8
  26. package/dist/main.js.map +1 -1
  27. package/dist/shutdown.d.ts +7 -0
  28. package/dist/shutdown.d.ts.map +1 -0
  29. package/dist/shutdown.js +49 -0
  30. package/dist/shutdown.js.map +1 -0
  31. package/dist/up.d.ts +2 -2
  32. package/dist/up.d.ts.map +1 -1
  33. package/dist/up.js +48 -25
  34. package/dist/up.js.map +1 -1
  35. package/dist/web/assets/_name-BHFMXhWe.js +1 -0
  36. package/dist/web/assets/_name-Cz2YmpSb.js +1 -0
  37. package/dist/web/assets/_name-D1NH8oUE.js +6 -0
  38. package/dist/web/assets/badge-BQobsECb.js +142 -0
  39. package/dist/web/assets/bash-CLZ0U2zV.js +1 -0
  40. package/dist/web/assets/button-BoOukj77.js +1 -0
  41. package/dist/web/assets/core-Cg4Mi2IQ.js +12 -0
  42. package/dist/web/assets/diff-woXpYk--.js +1 -0
  43. package/dist/web/assets/empty-DbVYU7bi.js +1 -0
  44. package/dist/web/assets/engine-javascript-h-x4hGa4.js +141 -0
  45. package/dist/web/assets/index-CJ-Nk5DM.js +10 -0
  46. package/dist/web/assets/index-DxGXwXIP.css +2 -0
  47. package/dist/web/assets/json-qhed-kSA.js +1 -0
  48. package/dist/web/assets/loops-huxrr83I.js +1 -0
  49. package/dist/web/assets/operator-copy-BDZ_fazz.js +1 -0
  50. package/dist/web/assets/overview-DTxvvQ4b.js +1 -0
  51. package/dist/web/assets/rolldown-runtime-hePW80VL.js +1 -0
  52. package/dist/web/assets/routes-CbvAb2gn.js +1 -0
  53. package/dist/web/assets/run-drawer-3blrdBMZ.js +157 -0
  54. package/dist/web/assets/status-badge-BTkHx8qb.js +1 -0
  55. package/dist/web/assets/table-B8cLYNvq.js +1 -0
  56. package/dist/web/assets/typescript-bsJCZSQ-.js +1 -0
  57. package/dist/web/assets/useCompositeItem-CuLyiETJ.js +1 -0
  58. package/dist/web/assets/with-selector-N6m4X0X_.js +1 -0
  59. package/dist/web/index.html +9 -2
  60. package/package.json +9 -9
  61. package/dist/web/assets/index-CjRDHHWF.css +0 -2
  62. package/dist/web/assets/index-DmN0SkGf.js +0 -295
@@ -0,0 +1,141 @@
1
+ function e(e){if([...e].length!==1)throw Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function t(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}var n=new Set([`alnum`,`alpha`,`ascii`,`blank`,`cntrl`,`digit`,`graph`,`lower`,`print`,`punct`,`space`,`upper`,`word`,`xdigit`]),r=String.raw;function i(e,t){if(e==null)throw Error(t??`Value expected`);return e}var a=r`\[\^?`,o=`c.? | C(?:-.?)?|${r`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${r`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${r`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${r`o\{[^\}]*\}?`}|${r`\d{1,3}`}`,s=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,c=new RegExp(r`
2
+ \\ (?:
3
+ ${o}
4
+ | [gk]<[^>]*>?
5
+ | [gk]'[^']*'?
6
+ | .
7
+ )
8
+ | \( (?:
9
+ \? (?:
10
+ [:=!>({]
11
+ | <[=!]
12
+ | <[^>]*>
13
+ | '[^']*'
14
+ | ~\|?
15
+ | #(?:[^)\\]|\\.?)*
16
+ | [^:)]*[:)]
17
+ )?
18
+ | \*[^\)]*\)?
19
+ )?
20
+ | (?:${s.source})+
21
+ | ${a}
22
+ | .
23
+ `.replace(/\s+/g,``),`gsu`),l=new RegExp(r`
24
+ \\ (?:
25
+ ${o}
26
+ | .
27
+ )
28
+ | \[:(?:\^?\p{Alpha}+|\^):\]
29
+ | ${a}
30
+ | &&
31
+ | .
32
+ `.replace(/\s+/g,``),`gsu`);function u(e,t={}){let n={flags:``,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!=`string`)throw Error(`String expected as pattern`);let r=_e(n.flags),i=[r.extended],a={captureGroup:n.rules.captureGroup,getCurrentModX(){return i.at(-1)},numOpenGroups:0,popModX(){i.pop()},pushModX(e){i.push(e)},replaceCurrentModX(e){i[i.length-1]=e},singleline:n.rules.singleline},o=[],s;for(c.lastIndex=0;s=c.exec(e);){let t=d(a,e,s[0],c.lastIndex);t.tokens?o.push(...t.tokens):t.token&&o.push(t.token),t.lastIndex!==void 0&&(c.lastIndex=t.lastIndex)}let l=[],u=0;o.filter(e=>e.type===`GroupOpen`).forEach(e=>{e.kind===`capturing`?e.number=++u:e.raw===`(`&&l.push(e)}),u||l.forEach((e,t)=>{e.kind=`capturing`,e.number=t+1});let f=u||l.length;return{tokens:o.map(e=>e.type===`EscapedNumber`?ye(e,f):e).flat(),flags:r}}function d(t,n,i,a){let[o,c]=i;if(i===`[`||i===`[^`){let e=f(n,i,a);return{tokens:e.tokens,lastIndex:e.lastIndex}}if(o===`\\`){if(`AbBGyYzZ`.includes(c))return{token:g(i,i)};if(/^\\g[<']/.test(i)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(i))throw Error(`Invalid group name "${i}"`);return{token:se(i)}}if(/^\\k[<']/.test(i)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(i))throw Error(`Invalid group name "${i}"`);return{token:_(i)}}if(c===`K`)return{token:ne(`keep`,i)};if(c===`N`||c===`R`)return{token:x(`newline`,i,{negate:c===`N`})};if(c===`O`)return{token:x(`any`,i)};if(c===`X`)return{token:x(`text_segment`,i)};let e=m(i,{inCharClass:!1});return Array.isArray(e)?{tokens:e}:{token:e}}if(o===`(`){if(c===`*`)return{token:fe(i)};if(i===`(?{`)throw Error(`Unsupported callout "${i}"`);if(i.startsWith(`(?#`)){if(n[a]!==`)`)throw Error(`Unclosed comment group "(?#"`);return{lastIndex:a+1}}if(/^\(\?[-imx]+[:)]$/.test(i))return{token:de(i,t)};if(t.pushModX(t.getCurrentModX()),t.numOpenGroups++,i===`(`&&!t.captureGroup||i===`(?:`)return{token:S(`group`,i)};if(i===`(?>`)return{token:S(`atomic`,i)};if(i===`(?=`||i===`(?!`||i===`(?<=`||i===`(?<!`)return{token:S(i[2]===`<`?`lookbehind`:`lookahead`,i,{negate:i.endsWith(`!`)})};if(i===`(`&&t.captureGroup||i.startsWith(`(?<`)&&i.endsWith(`>`)||i.startsWith(`(?'`)&&i.endsWith(`'`))return{token:S(`capturing`,i,{...i!==`(`&&{name:i.slice(3,-1)}})};if(i.startsWith(`(?~`)){if(i===`(?~|`)throw Error(`Unsupported absence function kind "${i}"`);return{token:S(`absence_repeater`,i)}}throw Error(i===`(?(`?`Unsupported conditional "${i}"`:`Invalid or unsupported group option "${i}"`)}if(i===`)`){if(t.popModX(),t.numOpenGroups--,t.numOpenGroups<0)throw Error(`Unmatched ")"`);return{token:ie(i)}}if(t.getCurrentModX()){if(i===`#`){let e=n.indexOf(`
33
+ `,a);return{lastIndex:e===-1?n.length:e}}if(/^\s$/.test(i)){let e=/\s+/y;return e.lastIndex=a,{lastIndex:e.exec(n)?e.lastIndex:a}}}return i===`.`?{token:x(`dot`,i)}:i===`^`||i===`$`?{token:g(t.singleline?{"^":r`\A`,$:r`\Z`}[i]:i,i)}:i===`|`?{token:h(i)}:s.test(i)?{tokens:be(i)}:{token:v(e(i),i)}}function f(e,t,n){let r=[te(t[1]===`^`,t)],i=1,a;for(l.lastIndex=n;a=l.exec(e);){let e=a[0];if(e[0]===`[`&&e[1]!==`:`)i++,r.push(te(e[1]===`^`,e));else if(e===`]`){if(r.at(-1).type===`CharacterClassOpen`)r.push(v(93,e));else if(i--,r.push(y(e)),!i)break}else{let t=p(e);Array.isArray(t)?r.push(...t):r.push(t)}}return{tokens:r,lastIndex:l.lastIndex||e.length}}function p(t){if(t[0]===`\\`)return m(t,{inCharClass:!0});if(t[0]===`[`){let e=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(t);if(!e||!n.has(e.groups.name))throw Error(`Invalid POSIX class "${t}"`);return x(`posix`,t,{value:e.groups.name,negate:!!e.groups.negate})}return t===`-`?ee(t):t===`&&`?b(t):v(e(t),t)}function m(t,{inCharClass:n}){let i=t[1];if(i===`c`||i===`C`)return ue(t);if(`dDhHsSwW`.includes(i))return me(t);if(t.startsWith(r`\o{`))throw Error(`Incomplete, invalid, or unsupported octal code point "${t}"`);if(/^\\[pP]\{/.test(t)){if(t.length===3)throw Error(`Incomplete or invalid Unicode property "${t}"`);return he(t)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(t))try{let n=t.split(/\\x/).slice(1).map(e=>parseInt(e,16)),r=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(n)),i=new TextEncoder;return[...r].map(t=>{let n=[...i.encode(t)].map(e=>`\\x${e.toString(16)}`).join(``);return v(e(t),n)})}catch{throw Error(`Multibyte code "${t}" incomplete or invalid in Oniguruma`)}if(i===`u`||i===`x`)return v(ve(t),t);if(le.has(i))return v(le.get(i),t);if(/\d/.test(i))return re(n,t);if(t===`\\`)throw Error(r`Incomplete escape "\"`);if(i===`M`)throw Error(`Unsupported meta "${t}"`);if([...t].length===2)return v(t.codePointAt(1),t);throw Error(`Unexpected escape "${t}"`)}function h(e){return{type:`Alternator`,raw:e}}function g(e,t){return{type:`Assertion`,kind:e,raw:t}}function _(e){return{type:`Backreference`,raw:e}}function v(e,t){return{type:`Character`,value:e,raw:t}}function y(e){return{type:`CharacterClassClose`,raw:e}}function ee(e){return{type:`CharacterClassHyphen`,raw:e}}function b(e){return{type:`CharacterClassIntersector`,raw:e}}function te(e,t){return{type:`CharacterClassOpen`,negate:e,raw:t}}function x(e,t,n={}){return{type:`CharacterSet`,kind:e,...n,raw:t}}function ne(e,t,n={}){return e===`keep`?{type:`Directive`,kind:e,raw:t}:{type:`Directive`,kind:e,flags:i(n.flags),raw:t}}function re(e,t){return{type:`EscapedNumber`,inCharClass:e,raw:t}}function ie(e){return{type:`GroupClose`,raw:e}}function S(e,t,n={}){return{type:`GroupOpen`,kind:e,...n,raw:t}}function ae(e,t,n,r){return{type:`NamedCallout`,kind:e,tag:t,arguments:n,raw:r}}function oe(e,t,n,r){return{type:`Quantifier`,kind:e,min:t,max:n,raw:r}}function se(e){return{type:`Subroutine`,raw:e}}var ce=new Set([`COUNT`,`CMP`,`ERROR`,`FAIL`,`MAX`,`MISMATCH`,`SKIP`,`TOTAL_COUNT`]),le=new Map([[`a`,7],[`b`,8],[`e`,27],[`f`,12],[`n`,10],[`r`,13],[`t`,9],[`v`,11]]);function ue(t){let n=t[1]===`c`?t[2]:t[3];if(!n||!/[A-Za-z]/.test(n))throw Error(`Unsupported control character "${t}"`);return v(e(n.toUpperCase())-64,t)}function de(e,t){let{on:n,off:r}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;r??=``;let i=(t.getCurrentModX()||n.includes(`x`))&&!r.includes(`x`),a=ge(n),o=ge(r),s={};if(a&&(s.enable=a),o&&(s.disable=o),e.endsWith(`)`))return t.replaceCurrentModX(i),ne(`flags`,e,{flags:s});if(e.endsWith(`:`))return t.pushModX(i),t.numOpenGroups++,S(`group`,e,{...(a||o)&&{flags:s}});throw Error(`Unexpected flag modifier "${e}"`)}function fe(e){let t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw Error(`Incomplete or invalid named callout "${e}"`);let{name:n,tag:r,args:i}=t.groups;if(!n)throw Error(`Invalid named callout "${e}"`);if(r===``)throw Error(`Named callout tag with empty value not allowed "${e}"`);let a=i?i.split(`,`).filter(e=>e!==``).map(e=>/^[+-]?\d+$/.test(e)?+e:e):[],[o,s,c]=a,l=ce.has(n)?n.toLowerCase():`custom`;switch(l){case`fail`:case`mismatch`:case`skip`:if(a.length>0)throw Error(`Named callout arguments not allowed "${a}"`);break;case`error`:if(a.length>1)throw Error(`Named callout allows only one argument "${a}"`);if(typeof o==`string`)throw Error(`Named callout argument must be a number "${o}"`);break;case`max`:if(!a.length||a.length>2)throw Error(`Named callout must have one or two arguments "${a}"`);if(typeof o==`string`&&!/^[A-Za-z_]\w*$/.test(o))throw Error(`Named callout argument one must be a tag or number "${o}"`);if(a.length===2&&(typeof s==`number`||!/^[<>X]$/.test(s)))throw Error(`Named callout optional argument two must be '<', '>', or 'X' "${s}"`);break;case`count`:case`total_count`:if(a.length>1)throw Error(`Named callout allows only one argument "${a}"`);if(a.length===1&&(typeof o==`number`||!/^[<>X]$/.test(o)))throw Error(`Named callout optional argument must be '<', '>', or 'X' "${o}"`);break;case`cmp`:if(a.length!==3)throw Error(`Named callout must have three arguments "${a}"`);if(typeof o==`string`&&!/^[A-Za-z_]\w*$/.test(o))throw Error(`Named callout argument one must be a tag or number "${o}"`);if(typeof s==`number`||!/^(?:[<>!=]=|[<>])$/.test(s))throw Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${s}"`);if(typeof c==`string`&&!/^[A-Za-z_]\w*$/.test(c))throw Error(`Named callout argument three must be a tag or number "${c}"`);break;case`custom`:throw Error(`Undefined callout name "${n}"`);default:throw Error(`Unexpected named callout kind "${l}"`)}return ae(l,r??null,i?.split(`,`)??null,e)}function pe(e){let t=null,n,r;if(e[0]===`{`){let{minStr:i,maxStr:a}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,o=1e5;if(+i>o||a&&+a>o)throw Error(`Quantifier value unsupported in Oniguruma`);if(n=+i,r=a===void 0?+i:a===``?1/0:+a,n>r&&(t=`possessive`,[n,r]=[r,n]),e.endsWith(`?`)){if(t===`possessive`)throw Error(`Unsupported possessive interval quantifier chain with "?"`);t=`lazy`}else t||=`greedy`}else n=+(e[0]===`+`),r=e[0]===`?`?1:1/0,t=e[1]===`+`?`possessive`:e[1]===`?`?`lazy`:`greedy`;return oe(t,n,r,e)}function me(e){let t=e[1].toLowerCase();return x({d:`digit`,h:`hex`,s:`space`,w:`word`}[t],e,{negate:e[1]!==t})}function he(e){let{p:t,neg:n,value:r}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return x(`property`,e,{value:r,negate:t===`P`&&!n||t===`p`&&!!n})}function ge(e){let t={};return e.includes(`i`)&&(t.ignoreCase=!0),e.includes(`m`)&&(t.dotAll=!0),e.includes(`x`)&&(t.extended=!0),Object.keys(t).length?t:null}function _e(e){let t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n<e.length;n++){let r=e[n];if(!`imxDPSWy`.includes(r))throw Error(`Invalid flag "${r}"`);if(r===`y`){if(!/^y{[gw]}/.test(e.slice(n)))throw Error(`Invalid or unspecified flag "y" mode`);t.textSegmentMode=e[n+2]===`g`?`grapheme`:`word`,n+=3;continue}t[{i:`ignoreCase`,m:`dotAll`,x:`extended`,D:`digitIsAscii`,P:`posixIsAscii`,S:`spaceIsAscii`,W:`wordIsAscii`}[r]]=!0}return t}function ve(e){if(/^(?:\\u(?!\p{AHex}{4})|\\x(?!\p{AHex}{1,2}|\{\p{AHex}{1,8}\}))/u.test(e))throw Error(`Incomplete or invalid escape "${e}"`);let t=e[2]===`{`?/^\\x\{\s*(?<hex>\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function ye(t,n){let{raw:i,inCharClass:a}=t,o=i.slice(1);if(!a&&(o!==`0`&&o.length===1||o[0]!==`0`&&+o<=n))return[_(i)];let s=[],c=o.match(/^[0-7]+|\d/g);for(let t=0;t<c.length;t++){let n=c[t],a;if(t===0&&n!==`8`&&n!==`9`){if(a=parseInt(n,8),a>127)throw Error(r`Octal encoded byte above 177 unsupported "${i}"`)}else a=e(n);s.push(v(a,(t===0?`\\`:``)+n))}return s}function be(e){let t=[],n=new RegExp(s,`gy`),r;for(;r=n.exec(e);){let e=r[0];if(e[0]===`{`){let r=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(e);if(r){let{min:i,max:a}=r.groups;if(+i>+a&&e.endsWith(`?`)){n.lastIndex--,t.push(pe(e.slice(0,-1)));continue}}}t.push(pe(e))}return t}function xe(e,t){if(!Array.isArray(e.body))throw Error(`Expected node with body array`);if(e.body.length!==1)return!1;let n=e.body[0];return!t||Object.keys(t).every(e=>t[e]===n[e])}function Se(e){return Ce.has(e.type)}var Ce=new Set([`AbsenceFunction`,`Backreference`,`CapturingGroup`,`Character`,`CharacterClass`,`CharacterSet`,`Group`,`Quantifier`,`Subroutine`]);function we(e,t={}){let n={flags:``,normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},i=u(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),a=(e,t)=>{let n=i.tokens[o.nextIndex];switch(o.parent=e,o.nextIndex++,n.type){case`Alternator`:return C();case`Assertion`:return Te(n);case`Backreference`:return Ee(n,o);case`Character`:return E(n.value,{useLastValid:!!t.isCheckingRangeEnd});case`CharacterClassHyphen`:return De(n,o,t);case`CharacterClassOpen`:return Oe(n,o,t);case`CharacterSet`:return ke(n,o);case`Directive`:return Le(n.kind,{flags:n.flags});case`GroupOpen`:return Ae(n,o,t);case`NamedCallout`:return ze(n.kind,n.tag,n.arguments);case`Quantifier`:return je(n,o);case`Subroutine`:return Me(n,o);default:throw Error(`Unexpected token type "${n.type}"`)}},o={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:i.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:a},s=He(Re(i.flags)),c=s.body[0];for(;o.nextIndex<i.tokens.length;){let e=a(c,{});e.type===`Alternative`?(s.body.push(e),c=e):c.body.push(e)}let{capturingGroups:l,hasNumberedRef:d,namedGroupsByName:f,subroutines:p}=o;if(d&&f.size&&!n.rules.captureGroup)throw Error(`Numbered backref/subroutine not allowed when using named capture`);for(let{ref:e}of p)if(typeof e==`number`){if(e>l.length)throw Error(`Subroutine uses a group number that's not defined`);e&&(l[e-1].isSubroutined=!0)}else if(f.has(e)){if(f.get(e).length>1)throw Error(r`Subroutine uses a duplicate group name "\g<${e}>"`);f.get(e)[0].isSubroutined=!0}else throw Error(r`Subroutine uses a group name that's not defined "\g<${e}>"`);return s}function Te({kind:e}){return w(i({"^":`line_start`,$:`line_end`,"\\A":`string_start`,"\\b":`word_boundary`,"\\B":`word_boundary`,"\\G":`search_start`,"\\y":`text_segment_boundary`,"\\Y":`text_segment_boundary`,"\\z":`string_end`,"\\Z":`string_end_newline`}[e],`Unexpected assertion kind "${e}"`),{negate:e===r`\B`||e===r`\Y`})}function Ee({raw:e},t){let n=/^\\k[<']/.test(e),r=n?e.slice(3,-1):e.slice(1),i=(n,r=!1)=>{let i=t.capturingGroups.length,a=!1;if(n>i){if(t.skipBackrefValidation)a=!0;else throw Error(`Not enough capturing groups defined to the left "${e}"`)}return t.hasNumberedRef=!0,T(r?i+1-n:n,{orphan:a})};if(n){let n=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(r);if(n)return i(+n.groups.num,!!n.groups.sign);if(/[-+]/.test(r))throw Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(r))throw Error(`Group name not defined to the left "${e}"`);return T(r)}return i(+r)}function De(t,n,r){let{tokens:i,walk:a}=n,o=n.parent,s=o.body.at(-1),c=i[n.nextIndex];if(!r.isCheckingRangeEnd&&s&&s.type!==`CharacterClass`&&s.type!==`CharacterClassRange`&&c&&c.type!==`CharacterClassOpen`&&c.type!==`CharacterClassClose`&&c.type!==`CharacterClassIntersector`){let e=a(o,{...r,isCheckingRangeEnd:!0});if(s.type===`Character`&&e.type===`Character`)return o.body.pop(),Fe(s,e);throw Error(`Invalid character class range`)}return E(e(`-`))}function Oe({negate:e},t,n){let{tokens:r,walk:i}=t,a=[D()],o=r[t.nextIndex],s=Xe(o);for(;s.type!==`CharacterClassClose`;){if(s.type===`CharacterClassIntersector`)a.push(D()),t.nextIndex++;else{let e=a.at(-1);e.body.push(i(e,n))}s=Xe(r[t.nextIndex],o)}let c=D({negate:e});return a.length===1?c.body=a[0].body:(c.kind=`intersection`,c.body=a.map(e=>e.body.length===1?e.body[0]:e)),t.nextIndex++,c}function ke({kind:e,negate:t,value:r},i){let{normalizeUnknownPropertyNames:a,skipPropertyNameValidation:o,unicodePropertyMap:s}=i;if(e===`property`){let i=M(r);if(n.has(i)&&!s?.has(i))e=`posix`,r=i;else return A(r,{negate:t,normalizeUnknownPropertyNames:a,skipPropertyNameValidation:o,unicodePropertyMap:s})}return e===`posix`?Be(r,{negate:t}):Ie(e,{negate:t})}function Ae(e,n,r){let{tokens:i,capturingGroups:a,namedGroupsByName:o,skipLookbehindValidation:s,walk:c}=n,l=We(e),u=l.type===`AbsenceFunction`,d=qe(l),f=d&&l.negate;if(l.type===`CapturingGroup`&&(a.push(l),l.name&&t(o,l.name,[]).push(l)),u&&r.isInAbsenceFunction)throw Error(`Nested absence function not supported by Oniguruma`);let p=Ze(i[n.nextIndex]);for(;p.type!==`GroupClose`;){if(p.type===`Alternator`)l.body.push(C()),n.nextIndex++;else{let e=l.body.at(-1),t=c(e,{...r,isInAbsenceFunction:r.isInAbsenceFunction||u,isInLookbehind:r.isInLookbehind||d,isInNegLookbehind:r.isInNegLookbehind||f});if(e.body.push(t),(d||r.isInLookbehind)&&!s){let e=`Lookbehind includes a pattern not allowed by Oniguruma`;if(f||r.isInNegLookbehind){if(Ke(t)||t.type===`CapturingGroup`)throw Error(e)}else if(Ke(t)||qe(t)&&t.negate)throw Error(e)}}p=Ze(i[n.nextIndex])}return n.nextIndex++,l}function je({kind:e,min:t,max:n},r){let i=r.parent,a=i.body.at(-1);if(!a||!Se(a))throw Error(`Quantifier requires a repeatable token`);let o=Ve(e,t,n,a);return i.body.pop(),o}function Me({raw:e},t){let{capturingGroups:n,subroutines:r}=t,i=e.slice(3,-1),a=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(i);if(a){let e=+a.groups.num,r=n.length;if(t.hasNumberedRef=!0,i={"":e,"+":r+e,"-":r+1-e}[a.groups.sign],i<1)throw Error(`Invalid subroutine number`)}else i===`0`&&(i=0);let o=Ue(i);return r.push(o),o}function Ne(e,t){if(e!==`repeater`)throw Error(`Unexpected absence function kind "${e}"`);return{type:`AbsenceFunction`,kind:e,body:j(t?.body)}}function C(e){return{type:`Alternative`,body:Ge(e?.body)}}function w(e,t){let n={type:`Assertion`,kind:e};return(e===`word_boundary`||e===`text_segment_boundary`)&&(n.negate=!!t?.negate),n}function T(e,t){let n=!!t?.orphan;return{type:`Backreference`,ref:e,...n&&{orphan:n}}}function Pe(e,t){let n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!Je(n.name))throw Error(`Group name "${n.name}" invalid in Oniguruma`);return{type:`CapturingGroup`,number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:j(t?.body)}}function E(e,t){let n={useLastValid:!1,...t};if(e>1114111){let t=e.toString(16);if(n.useLastValid)e=1114111;else throw Error(e>1310719?`Invalid code point out of range "\\x{${t}}"`:`Invalid code point out of range in JS "\\x{${t}}"`)}return{type:`Character`,value:e}}function D(e){let t={kind:`union`,negate:!1,...e};return{type:`CharacterClass`,kind:t.kind,negate:t.negate,body:Ge(e?.body)}}function Fe(e,t){if(t.value<e.value)throw Error(`Character class range out of order`);return{type:`CharacterClassRange`,min:e,max:t}}function Ie(e,t){let n=!!t?.negate,r={type:`CharacterSet`,kind:e};return(e===`digit`||e===`hex`||e===`newline`||e===`space`||e===`word`)&&(r.negate=n),(e===`text_segment`||e===`newline`&&!n)&&(r.variableLength=!0),r}function Le(e,t={}){if(e===`keep`)return{type:`Directive`,kind:e};if(e===`flags`)return{type:`Directive`,kind:e,flags:i(t.flags)};throw Error(`Unexpected directive kind "${e}"`)}function Re(e){return{type:`Flags`,...e}}function O(e){let t=e?.atomic,n=e?.flags;if(t&&n)throw Error(`Atomic group cannot have flags`);return{type:`Group`,...t&&{atomic:t},...n&&{flags:n},body:j(e?.body)}}function k(e){let t={behind:!1,negate:!1,...e};return{type:`LookaroundAssertion`,kind:t.behind?`lookbehind`:`lookahead`,negate:t.negate,body:j(e?.body)}}function ze(e,t,n){return{type:`NamedCallout`,kind:e,tag:t,arguments:n}}function Be(e,t){let r=!!t?.negate;if(!n.has(e))throw Error(`Invalid POSIX class "${e}"`);return{type:`CharacterSet`,kind:`posix`,value:e,negate:r}}function Ve(e,t,n,r){if(t>n)throw Error(`Invalid reversed quantifier range`);return{type:`Quantifier`,kind:e,min:t,max:n,body:r}}function He(e,t){return{type:`Regex`,body:j(t?.body),flags:e}}function Ue(e){return{type:`Subroutine`,ref:e}}function A(e,t){let n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t},i=n.unicodePropertyMap?.get(M(e));if(!i){if(n.normalizeUnknownPropertyNames)i=Ye(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw Error(r`Invalid Unicode property "\p{${e}}"`)}return{type:`CharacterSet`,kind:`property`,value:i??e,negate:n.negate}}function We({flags:e,kind:t,name:n,negate:r,number:i}){switch(t){case`absence_repeater`:return Ne(`repeater`);case`atomic`:return O({atomic:!0});case`capturing`:return Pe(i,{name:n});case`group`:return O({flags:e});case`lookahead`:case`lookbehind`:return k({behind:t===`lookbehind`,negate:r});default:throw Error(`Unexpected group kind "${t}"`)}}function j(e){if(e===void 0)e=[C()];else if(!Array.isArray(e)||!e.length||!e.every(e=>e.type===`Alternative`))throw Error(`Invalid body; expected array of one or more Alternative nodes`);return e}function Ge(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(e=>!!e.type))throw Error(`Invalid body; expected array of nodes`);return e}function Ke(e){return e.type===`LookaroundAssertion`&&e.kind===`lookahead`}function qe(e){return e.type===`LookaroundAssertion`&&e.kind===`lookbehind`}function Je(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function Ye(e){return e.trim().replace(/[- _]+/g,`_`).replace(/[A-Z][a-z]+(?=[A-Z])/g,`$&_`).replace(/[A-Za-z]+/g,e=>e[0].toUpperCase()+e.slice(1).toLowerCase())}function M(e){return e.replace(/[- _]+/g,``).toLowerCase()}function Xe(e,t){let n=t;return i(e,`Unclosed character class${n?.type===`Character`&&n.value===93&&n.raw===`]`?` (started with "]")`:``}`)}function Ze(e){return i(e,`Unclosed group`)}function N(e,t,n=null){function r(e,t){for(let n=0;n<e.length;n++){let r=a(e[n],t,n,e);n=Math.max(-1,n+r)}}function a(o,s=null,c=null,l=null){let u=0,d=!1,f={node:o,parent:s,key:c,container:l,root:e,remove(){P(l).splice(Math.max(0,F(c)+u),1),u--,d=!0},removeAllNextSiblings(){return P(l).splice(F(c)+1)},removeAllPrevSiblings(){let e=F(c)+u;return u-=e,P(l).splice(0,Math.max(0,e))},replaceWith(e,t={}){let n=!!t.traverse;l?l[Math.max(0,F(c)+u)]=e:i(s,`Can't replace root node`)[c]=e,n&&a(e,s,c,l),d=!0},replaceWithMultiple(e,t={}){let n=!!t.traverse;if(P(l).splice(Math.max(0,F(c)+u),1,...e),u+=e.length-1,n){let t=0;for(let n=0;n<e.length;n++)t+=a(e[n],s,F(c)+n+t,l)}d=!0},skip(){d=!0}},{type:p}=o,m=t[`*`],h=t[p],g=typeof m==`function`?m:m?.enter,_=typeof h==`function`?h:h?.enter;if(g?.(f,n),_?.(f,n),!d)switch(p){case`AbsenceFunction`:case`Alternative`:case`CapturingGroup`:case`CharacterClass`:case`Group`:case`LookaroundAssertion`:r(o.body,o);break;case`Assertion`:case`Backreference`:case`Character`:case`CharacterSet`:case`Directive`:case`Flags`:case`NamedCallout`:case`Subroutine`:break;case`CharacterClassRange`:a(o.min,o,`min`),a(o.max,o,`max`);break;case`Quantifier`:a(o.body,o,`body`);break;case`Regex`:r(o.body,o),a(o.flags,o,`flags`);break;default:throw Error(`Unexpected node type "${p}"`)}return h?.exit?.(f,n),m?.exit?.(f,n),u}return a(e),e}function P(e){if(!Array.isArray(e))throw Error(`Container expected`);return e}function F(e){if(typeof e!=`number`)throw Error(`Numeric key expected`);return e}var Qe=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function $e(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function et(e,t,n,r){return e.slice(0,t)+r+e.slice(t+n.length)}var I=Object.freeze({DEFAULT:`DEFAULT`,CHAR_CLASS:`CHAR_CLASS`});function tt(e,t,n,r){let i=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,`gsu`),a=[!1],o=0,s=``;for(let t of e.matchAll(i)){let{0:e,groups:{$skip:i}}=t;if(!i&&(!r||r===I.DEFAULT==!o)){n instanceof Function?s+=n(t,{context:o?I.CHAR_CLASS:I.DEFAULT,negated:a[a.length-1]}):s+=n;continue}e[0]===`[`?(o++,a.push(e[1]===`^`)):e===`]`&&o&&(o--,a.pop()),s+=e}return s}function nt(e,t,n,r){tt(e,t,n,r)}function rt(e,t,n=0,r){if(!new RegExp(t,`su`).test(e))return null;let i=RegExp(`${t}|(?<$skip>\\\\?.)`,`gsu`);i.lastIndex=n;let a=0,o;for(;o=i.exec(e);){let{0:e,groups:{$skip:t}}=o;if(!t&&(!r||r===I.DEFAULT==!a))return o;e===`[`?a++:e===`]`&&a&&a--,i.lastIndex==o.index&&i.lastIndex++}return null}function L(e,t,n){return!!rt(e,t,0,n)}function it(e,t){let n=/\\?./gsu;n.lastIndex=t;let r=e.length,i=0,a=1,o;for(;o=n.exec(e);){let[e]=o;if(e===`[`)i++;else if(i)e===`]`&&i--;else if(e===`(`)a++;else if(e===`)`&&(a--,!a)){r=o.index;break}}return e.slice(t,r)}var at=new RegExp(String.raw`(?<noncapturingStart>${Qe})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,`gsu`);function ot(e,t){let n=t?.hiddenCaptures??[],r=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:n};let i=[0],a=[],o=0,s=0,c=NaN,l;do{l=!1;let t=0,u=0,d=!1,f;for(at.lastIndex=Number.isNaN(c)?0:c+7;f=at.exec(e);){let{0:p,index:m,groups:{capturingStart:h,noncapturingStart:g}}=f;if(p===`[`)t++;else if(t)p===`]`&&t--;else if(p===`(?>`&&!d)c=m,d=!0;else if(d&&g)u++;else if(h)d?u++:(o++,i.push(o+s));else if(p===`)`&&d){if(!u){s++;let t=o+s;if(e=`${e.slice(0,c)}(?:(?=(${e.slice(c+3,m)}))<$$${t}>)${e.slice(m+1)}`,l=!0,a.push(t),$e(n,t),r.size){let e=new Map;r.forEach((n,r)=>{e.set(r>=t?r+1:r,n.map(e=>e>=t?e+1:e))}),r=e}break}u--}}}while(l);return n.push(...a),e=tt(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:e,groups:{backrefNum:t,wrappedBackrefNum:n}})=>{if(t){let n=+t;if(n>i.length-1)throw Error(`Backref "${e}" greater than number of captures`);return`\\${i[n]}`}return`\\${n}`},I.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:n}}var st=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,R=new RegExp(String.raw`
34
+ \\(?: \d+
35
+ | c[A-Za-z]
36
+ | [gk]<[^>]+>
37
+ | [pPu]\{[^\}]+\}
38
+ | u[A-Fa-f\d]{4}
39
+ | x[A-Fa-f\d]{2}
40
+ )
41
+ | \((?: \? (?: [:=!>]
42
+ | <(?:[=!]|[^>]+>)
43
+ | [A-Za-z\-]+:
44
+ | \(DEFINE\)
45
+ ))?
46
+ | (?<qBase>${st})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
47
+ | \\?.
48
+ `.replace(/\s+/g,``),`gsu`);function ct(e){if(!RegExp(`${st}\\+`).test(e))return{pattern:e};let t=[],n=null,r=null,i=``,a=0,o;for(R.lastIndex=0;o=R.exec(e);){let{0:s,index:c,groups:{qBase:l,qMod:u,invalidQ:d}}=o;if(s===`[`)a||(r=c),a++;else if(s===`]`)a?a--:r=null;else if(!a){if(u===`+`&&i&&!i.startsWith(`(`)){if(d)throw Error(`Invalid quantifier "${s}"`);let t=-1;if(/^\{\d+\}$/.test(l))e=et(e,c+l.length,u,``);else{if(i===`)`||i===`]`){let t=i===`)`?n:r;if(t===null)throw Error(`Invalid unmatched "${i}"`);e=`${e.slice(0,t)}(?>${e.slice(t,c)}${l})${e.slice(c+s.length)}`}else e=`${e.slice(0,c-i.length)}(?>${i}${l})${e.slice(c+s.length)}`;t+=4}R.lastIndex+=t}else s[0]===`(`?t.push(c):s===`)`&&(n=t.length?t.pop():null)}i=s}return{pattern:e}}var z=String.raw,lt=z`\(\?R=(?<rDepth>[^\)]+)\)|${z`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`}`,B=z`\(\?<(?![=!])(?<captureName>[^>]+)>`,ut=z`${B}|(?<unnamed>\()(?!\?)`,V=new RegExp(z`${B}|${lt}|\(\?|\\?.`,`gsu`),dt=`Cannot use multiple overlapping recursions`;function ft(e,t){let{hiddenCaptures:n,mode:r}={hiddenCaptures:[],mode:`plugin`,...t},i=t?.captureTransfers??new Map;if(!new RegExp(lt,`su`).test(e))return{pattern:e,captureTransfers:i,hiddenCaptures:n};if(r===`plugin`&&L(e,z`\(\?\(DEFINE\)`,I.DEFAULT))throw Error(`DEFINE groups cannot be used with recursion`);let a=[],o=L(e,z`\\[1-9]`,I.DEFAULT),s=new Map,c=[],l=!1,u=0,d=0,f;for(V.lastIndex=0;f=V.exec(e);){let{0:t,groups:{captureName:p,rDepth:m,gRNameOrNum:h,gRDepth:g}}=f;if(t===`[`)u++;else if(u)t===`]`&&u--;else{if(m){if(pt(m),l)throw Error(dt);if(o)throw Error(`${r===`external`?`Backrefs`:`Numbered backrefs`} cannot be used with global recursion`);let t=e.slice(0,f.index),s=e.slice(V.lastIndex);if(L(s,lt,I.DEFAULT))throw Error(dt);let c=m-1;e=mt(t,s,c,!1,n,a,d),i=_t(i,t,c,a.length,0,d);break}if(h){pt(g);let u=!1;for(let e of c)if(e.name===h||e.num===+h){if(u=!0,e.hasRecursedWithin)throw Error(dt);break}if(!u)throw Error(z`Recursive \g cannot be used outside the referenced group "${r===`external`?h:z`\g<${h}&R=${g}>`}"`);let p=s.get(h),m=it(e,p);if(o&&L(m,z`${B}|\((?!\?)`,I.DEFAULT))throw Error(`${r===`external`?`Backrefs`:`Numbered backrefs`} cannot be used with recursion of capturing groups`);let _=e.slice(p,f.index),v=m.slice(_.length+t.length),y=a.length,ee=g-1,b=mt(_,v,ee,!0,n,a,d);i=_t(i,_,ee,a.length-y,y,d),e=`${e.slice(0,p)}${b}${e.slice(p+m.length)}`,V.lastIndex+=b.length-t.length-_.length-v.length,c.forEach(e=>e.hasRecursedWithin=!0),l=!0}else if(p)d++,s.set(String(d),V.lastIndex),s.set(p,V.lastIndex),c.push({num:d,name:p});else if(t[0]===`(`){let e=t===`(`;e&&(d++,s.set(String(d),V.lastIndex)),c.push(e?{num:d}:{})}else t===`)`&&c.pop()}}return n.push(...a),{pattern:e,captureTransfers:i,hiddenCaptures:n}}function pt(e){let t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e)||(e=+e,e<2||e>100))throw Error(t)}function mt(e,t,n,r,i,a,o){let s=new Set;r&&nt(e+t,B,({groups:{captureName:e}})=>{s.add(e)},I.DEFAULT);let c=[n,r?s:null,i,a,o];return`${e}${ht(`(?:${e}`,`forward`,...c)}(?:)${ht(`${t})`,`backward`,...c)}${t}`}function ht(e,t,n,r,i,a,o){let s=e=>t===`forward`?e+2:n-e+2-1,c=``;for(let t=0;t<n;t++){let n=s(t);c+=tt(e,z`${ut}|\\k<(?<backref>[^>]+)>`,({0:e,groups:{captureName:t,unnamed:s,backref:c}})=>{if(c&&r&&!r.has(c))return e;let l=`_$${n}`;if(s||t){let n=o+a.length+1;return a.push(n),gt(i,n),s?e:`(?<${t}${l}>`}return z`\k<${c}${l}>`},I.DEFAULT)}return c}function gt(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function _t(e,t,n,r,i,a){if(e.size&&r){let o=0;nt(t,ut,()=>o++,I.DEFAULT);let s=a-o+i,c=new Map;return e.forEach((e,t)=>{let i=(r-o*n)/n,a=o*n,l=t>s+o?t+r:t,u=[];for(let t of e)if(t<=s)u.push(t);else if(t>s+o+i)u.push(t+r);else if(t<=s+o)for(let e=0;e<=n;e++)u.push(t+o*e);else for(let e=0;e<=n;e++)u.push(t+a+i*e);c.set(l,u)}),c}return e}var H=String.fromCodePoint,U=String.raw,W={},G=globalThis.RegExp;W.flagGroups=(()=>{try{new G(`(?i:)`)}catch{return!1}return!0})(),W.unicodeSets=(()=>{try{new G(`[[]]`,`v`)}catch{return!1}return!0})(),W.bugFlagVLiteralHyphenIsRange=W.unicodeSets?(()=>{try{new G(U`[\d\-a]`,`v`)}catch{return!0}return!1})():!1,W.bugNestedClassIgnoresNegation=W.unicodeSets&&new G(`[[^a]]`,`v`).test(`a`);function K(e,{enable:t,disable:n}){return{dotAll:!n?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!n?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function q(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function vt(e,t){return bt[e]>=bt[t]}function yt(e,t){if(e==null)throw Error(t??`Value expected`);return e}var bt={ES2025:2025,ES2024:2024,ES2018:2018},xt={auto:`auto`,ES2025:`ES2025`,ES2024:`ES2024`,ES2018:`ES2018`};function St(e={}){if({}.toString.call(e)!==`[object Object]`)throw Error(`Unexpected options`);if(e.target!==void 0&&!xt[e.target])throw Error(`Unexpected target "${e.target}"`);let t={accuracy:`default`,avoidSubclass:!1,flags:``,global:!1,hasIndices:!1,lazyCompileLength:1/0,target:`auto`,verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target===`auto`&&(t.target=W.flagGroups?`ES2025`:W.unicodeSets?`ES2024`:`ES2018`),t}var Ct=`[ -\r ]`,wt=new Set([H(304),H(305)]),J=U`[\p{L}\p{M}\p{N}\p{Pc}]`;function Tt(e){if(wt.has(e))return[e];let t=new Set,n=e.toLowerCase(),r=n.toUpperCase(),i=kt.get(n),a=Dt.get(n),o=Ot.get(n);return[...r].length===1&&t.add(r),o&&t.add(o),i&&t.add(i),t.add(n),a&&t.add(a),[...t]}var Et=new Map(`C Other
49
+ Cc Control cntrl
50
+ Cf Format
51
+ Cn Unassigned
52
+ Co Private_Use
53
+ Cs Surrogate
54
+ L Letter
55
+ LC Cased_Letter
56
+ Ll Lowercase_Letter
57
+ Lm Modifier_Letter
58
+ Lo Other_Letter
59
+ Lt Titlecase_Letter
60
+ Lu Uppercase_Letter
61
+ M Mark Combining_Mark
62
+ Mc Spacing_Mark
63
+ Me Enclosing_Mark
64
+ Mn Nonspacing_Mark
65
+ N Number
66
+ Nd Decimal_Number digit
67
+ Nl Letter_Number
68
+ No Other_Number
69
+ P Punctuation punct
70
+ Pc Connector_Punctuation
71
+ Pd Dash_Punctuation
72
+ Pe Close_Punctuation
73
+ Pf Final_Punctuation
74
+ Pi Initial_Punctuation
75
+ Po Other_Punctuation
76
+ Ps Open_Punctuation
77
+ S Symbol
78
+ Sc Currency_Symbol
79
+ Sk Modifier_Symbol
80
+ Sm Math_Symbol
81
+ So Other_Symbol
82
+ Z Separator
83
+ Zl Line_Separator
84
+ Zp Paragraph_Separator
85
+ Zs Space_Separator
86
+ ASCII
87
+ ASCII_Hex_Digit AHex
88
+ Alphabetic Alpha
89
+ Any
90
+ Assigned
91
+ Bidi_Control Bidi_C
92
+ Bidi_Mirrored Bidi_M
93
+ Case_Ignorable CI
94
+ Cased
95
+ Changes_When_Casefolded CWCF
96
+ Changes_When_Casemapped CWCM
97
+ Changes_When_Lowercased CWL
98
+ Changes_When_NFKC_Casefolded CWKCF
99
+ Changes_When_Titlecased CWT
100
+ Changes_When_Uppercased CWU
101
+ Dash
102
+ Default_Ignorable_Code_Point DI
103
+ Deprecated Dep
104
+ Diacritic Dia
105
+ Emoji
106
+ Emoji_Component EComp
107
+ Emoji_Modifier EMod
108
+ Emoji_Modifier_Base EBase
109
+ Emoji_Presentation EPres
110
+ Extended_Pictographic ExtPict
111
+ Extender Ext
112
+ Grapheme_Base Gr_Base
113
+ Grapheme_Extend Gr_Ext
114
+ Hex_Digit Hex
115
+ IDS_Binary_Operator IDSB
116
+ IDS_Trinary_Operator IDST
117
+ ID_Continue IDC
118
+ ID_Start IDS
119
+ Ideographic Ideo
120
+ Join_Control Join_C
121
+ Logical_Order_Exception LOE
122
+ Lowercase Lower
123
+ Math
124
+ Noncharacter_Code_Point NChar
125
+ Pattern_Syntax Pat_Syn
126
+ Pattern_White_Space Pat_WS
127
+ Quotation_Mark QMark
128
+ Radical
129
+ Regional_Indicator RI
130
+ Sentence_Terminal STerm
131
+ Soft_Dotted SD
132
+ Terminal_Punctuation Term
133
+ Unified_Ideograph UIdeo
134
+ Uppercase Upper
135
+ Variation_Selector VS
136
+ White_Space space
137
+ XID_Continue XIDC
138
+ XID_Start XIDS`.split(/\s/).map(e=>[M(e),e])),Dt=new Map([[`s`,H(383)],[H(383),`s`]]),Ot=new Map([[H(223),H(7838)],[H(107),H(8490)],[H(229),H(8491)],[H(969),H(8486)]]),kt=new Map([Y(453),Y(456),Y(459),Y(498),...Mt(8072,8079),...Mt(8088,8095),...Mt(8104,8111),Y(8124),Y(8140),Y(8188)]),At=new Map([[`alnum`,U`[\p{Alpha}\p{Nd}]`],[`alpha`,U`\p{Alpha}`],[`ascii`,U`\p{ASCII}`],[`blank`,U`[\p{Zs}\t]`],[`cntrl`,U`\p{Cc}`],[`digit`,U`\p{Nd}`],[`graph`,U`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],[`lower`,U`\p{Lower}`],[`print`,U`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],[`punct`,U`[\p{P}\p{S}]`],[`space`,U`\p{space}`],[`upper`,U`\p{Upper}`],[`word`,U`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],[`xdigit`,U`\p{AHex}`]]);function jt(e,t){let n=[];for(let r=e;r<=t;r++)n.push(r);return n}function Y(e){let t=H(e);return[t.toLowerCase(),t]}function Mt(e,t){return jt(e,t).map(e=>Y(e))}var Nt=new Set([`Lower`,`Lowercase`,`Upper`,`Uppercase`,`Ll`,`Lowercase_Letter`,`Lt`,`Titlecase_Letter`,`Lu`,`Uppercase_Letter`]);function Pt(e,t){let n={accuracy:`default`,asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:`ES2025`,...t};Rt(e);let r={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:vt(n.bestEffortTarget,`ES2024`),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};N(e,Ft,r);let i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},a={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:r.subroutineRefMap};return N(e,It,a),N(e,Lt,{groupsByName:a.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:a.reffedNodesByReferencer}),e._originMap=a.groupOriginByCopy,e._strategy=r.strategy,e}var Ft={AbsenceFunction({node:e,parent:t,replaceWith:n}){let{body:r,kind:i}=e;if(i===`repeater`){let e=O();e.body[0].body.push(k({negate:!0,body:r}),A(`Any`));let i=O();i.body[0].body.push(Ve(`greedy`,0,1/0,e)),n(Q(i,t),{traverse:!0})}else throw Error(`Unsupported absence function "(?~|"`)},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:r}){let i=e.body.filter(e=>e.kind===`flags`);for(let e=n+1;e<t.body.length;e++){let n=t.body[e];q(r,n,[]).push(...i)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){let n=Gt(t.get(e));if(n){let t=O({flags:n});t.body[0].body=e.body,e.body=[Q(t,e)]}}}},Assertion({node:e,parent:t,key:n,container:r,root:i,remove:a,replaceWith:o},s){let{kind:c,negate:l}=e,{asciiWordBoundaries:u,avoidSubclass:d,supportedGNodes:f,wordIsAscii:p}=s;if(c===`text_segment_boundary`)throw Error(`Unsupported text segment boundary "\\${l?`Y`:`y`}"`);if(c===`line_end`)o(Q(k({body:[C({body:[w(`string_end`)]}),C({body:[E(10)]})]}),t));else if(c===`line_start`)o(Q(X(U`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(c===`search_start`){if(f.has(e))i.flags.sticky=!0,a();else{let e=r[n-1];if(e&&Zt(e))o(Q(k({negate:!0}),t));else if(d)throw Error(U`Uses "\G" in a way that requires a subclass`);else o(Z(w(`string_start`),t)),s.strategy=`clip_search`}}else if(c!==`string_end`&&c!==`string_start`){if(c===`string_end_newline`)o(Q(X(U`(?=\n?\z)`),t));else if(c===`word_boundary`){if(!p&&!u){let e=`(?:(?<=${J})(?!${J})|(?<!${J})(?=${J}))`,n=`(?:(?<=${J})(?=${J})|(?<!${J})(?!${J}))`;o(Q(X(l?n:e),t))}}else throw Error(`Unexpected assertion kind "${c}"`)}},Backreference({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n==`string`&&!$t(n)&&(n=Wt(n,t),e.ref=n)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:n}){let{name:r}=e;r&&!$t(r)&&(r=Wt(r,t),e.name=r),n.set(e.number,e),r&&n.set(r,e)},CharacterClassRange({node:e,parent:t,replaceWith:n}){t.kind===`intersection`&&n(Q(D({body:[e]}),t),{traverse:!0})},CharacterSet({node:e,parent:t,replaceWith:n},{accuracy:r,minTargetEs2024:i,digitIsAscii:a,spaceIsAscii:o,wordIsAscii:s}){let{kind:c,negate:l,value:u}=e;if(a&&(c===`digit`||u===`digit`)){n(Z(Ie(`digit`,{negate:l}),t));return}if(o&&(c===`space`||u===`space`)){n(Q(en(X(Ct),l),t));return}if(s&&(c===`word`||u===`word`)){n(Z(Ie(`word`,{negate:l}),t));return}if(c===`any`)n(Z(A(`Any`),t));else if(c===`digit`)n(Z(A(`Nd`,{negate:l}),t));else if(c!==`dot`){if(c===`text_segment`){if(r===`strict`)throw Error(U`Use of "\X" requires non-strict accuracy`);let e=`\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?`,a=U`\p{RI}{2}|${e}(?:\u200D${e})*`;n(Q(X(U`(?>\r\n|${i?U`\p{RGI_Emoji}`:a}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(c===`hex`)n(Z(A(`AHex`,{negate:l}),t));else if(c===`newline`)n(Q(X(l?`[^
139
+ ]`:`(?>\r
140
+ ?|[
141
+ \v\f…\u2028\u2029])`),t));else if(c===`posix`){if(!i&&(u===`graph`||u===`print`)){if(r===`strict`)throw Error(`POSIX class "${u}" requires min target ES2024 or non-strict accuracy`);let e={graph:`!-~`,print:` -~`}[u];l&&(e=`\0-${H(e.codePointAt(0)-1)}${H(e.codePointAt(2)+1)}-\u{10FFFF}`),n(Q(X(`[${e}]`),t))}else n(Q(en(X(At.get(u)),l),t))}else if(c===`property`)Et.has(M(u))||(e.key=`sc`);else if(c===`space`)n(Z(A(`space`,{negate:l}),t));else if(c===`word`)n(Q(en(X(J),l),t));else throw Error(`Unexpected character set kind "${c}"`)}},Directive({node:e,parent:t,root:n,remove:r,replaceWith:i,removeAllPrevSiblings:a,removeAllNextSiblings:o}){let{kind:s,flags:c}=e;if(s===`flags`){if(!c.enable&&!c.disable)r();else{let e=O({flags:c});e.body[0].body=o(),i(Q(e,t),{traverse:!0})}}else if(s===`keep`){let e=n.body[0],r=n.body.length===1&&xe(e,{type:`Group`})&&e.body[0].body.length===1?e.body[0]:n;if(t.parent!==r||r.body.length>1)throw Error(U`Uses "\K" in a way that's unsupported`);let o=k({behind:!0});o.body[0].body=a(),i(Q(o,t))}else throw Error(`Unexpected directive kind "${s}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw Error(`Unsupported flag "P"`);if(e.textSegmentMode===`word`)throw Error(`Unsupported flag "y{w}"`);[`digitIsAscii`,`extended`,`posixIsAscii`,`spaceIsAscii`,`wordIsAscii`,`textSegmentMode`].forEach(t=>delete e[t]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:n}=e;n===`lookbehind`&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){let{kind:r}=e;if(r===`fail`)n(Q(k({negate:!0}),t));else throw Error(`Unsupported named callout "(*${r.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type===`Quantifier`){let t=O();t.body[0].body.push(e.body),e.body=Q(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let n=[],r=!1,i=!1;for(let t of e.body)if(t.body.length===1&&t.body[0].kind===`search_start`)t.body.pop();else{let e=Jt(t.body);e?(r=!0,Array.isArray(e)?n.push(...e):n.push(e)):i=!0}r&&!i&&n.forEach(e=>t.add(e))},exit(e,{accuracy:t,passedLookbehind:n,strategy:r}){if(t===`strict`&&n&&r)throw Error(U`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n==`string`&&!$t(n)&&(n=Wt(n,t),e.ref=n)}},It={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){let{orphan:r,ref:i}=e;r||n.set(e,[...t.get(i).map(({node:e})=>e)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:r},{groupOriginByCopy:i,groupsByName:a,multiplexCapturesToLeftByRef:o,openRefs:s,reffedNodesByReferencer:c}){let l=i.get(e);if(l&&s.has(e.number)){let r=Z(Ht(e.number),t);c.set(r,s.get(e.number)),n(r);return}s.set(e.number,e),o.set(e.number,[]),e.name&&q(o,e.name,[]);let u=o.get(e.name??e.number);for(let t=0;t<u.length;t++){let n=u[t];if(l===n.node||l&&l===n.origin||e===n.origin){u.splice(t,1);break}}if(o.get(e.number).push({node:e,origin:l}),e.name&&o.get(e.name).push({node:e,origin:l}),e.name){let t=q(a,e.name,new Map),n=!1;if(l)n=!0;else for(let e of t.values())if(!e.hasDuplicateNameToRemove){n=!0;break}a.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:n})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=K(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},r){let{isRecursive:i,ref:a}=e;if(i){let n=t;for(;(n=n.parent)&&(n.type!==`CapturingGroup`||n.name!==a&&n.number!==a););r.reffedNodesByReferencer.set(e,n);return}let o=r.subroutineRefMap.get(a),s=a===0,c=s?Ht(0):Vt(o,r.groupOriginByCopy,null),l=c;if(!s){let e=Gt(Ut(o,e=>e.type===`Group`&&!!e.flags)),t=e?K(r.globalFlags,e):r.globalFlags;zt(t,r.currentFlags)||(l=O({flags:Kt(t)}),l.body[0].body.push(c))}n(Q(l,t),{traverse:!s})}},Lt={Backreference({node:e,parent:t,replaceWith:n},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}let i=r.reffedNodesByReferencer.get(e).filter(t=>Bt(t,e));i.length?i.length>1?n(Q(O({atomic:!0,body:i.reverse().map(e=>C({body:[T(e.number)]}))}),t)):e.ref=i[0].number:n(Q(k({negate:!0}),t))},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){let n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let t=0;t<n;t++){let t=Pe();e.body.at(-1).body.push(t)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function Rt(e){N(e,{"*"({node:e,parent:t}){e.parent=t}})}function zt(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function Bt(e,t){let n=t;do{if(n.type===`Regex`)return!1;if(n.type===`Alternative`)continue;if(n===e)return!1;let t=qt(n.parent);for(let r of t){if(r===n)break;if(r===e||Yt(r,e))return!0}}while(n=n.parent);throw Error(`Unexpected path`)}function Vt(e,t,n,r){let i=Array.isArray(e)?[]:{};for(let[a,o]of Object.entries(e))a===`parent`?i.parent=Array.isArray(n)?r:n:o&&typeof o==`object`?i[a]=Vt(o,t,i,n):(a===`type`&&o===`CapturingGroup`&&t.set(i,t.get(e)??e),i[a]=o);return i}function Ht(e){let t=Ue(e);return t.isRecursive=!0,t}function Ut(e,t){let n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function Wt(e,t){if(t.has(e))return t.get(e);let n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/gu,`_`)}`;return t.set(e,n),n}function Gt(e){let t=[`dotAll`,`ignoreCase`],n={enable:{},disable:{}};return e.forEach(({flags:e})=>{t.forEach(t=>{e.enable?.[t]&&(delete n.disable[t],n.enable[t]=!0),e.disable?.[t]&&(n.disable[t]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function Kt({dotAll:e,ignoreCase:t}){let n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function qt(e){if(!e)throw Error(`Node expected`);let{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function Jt(e){let t=e.find(e=>e.kind===`search_start`||Qt(e,{negate:!1})||!Xt(e));if(!t)return null;if(t.kind===`search_start`)return t;if(t.type===`LookaroundAssertion`)return t.body[0].body[0];if(t.type===`CapturingGroup`||t.type===`Group`){let e=[];for(let n of t.body){let t=Jt(n.body);if(!t)return null;Array.isArray(t)?e.push(...t):e.push(t)}return e}return null}function Yt(e,t){let n=qt(e)??[];for(let e of n)if(e===t||Yt(e,t))return!0;return!1}function Xt({type:e}){return e===`Assertion`||e===`Directive`||e===`LookaroundAssertion`}function Zt(e){let t=[`Character`,`CharacterClass`,`CharacterSet`];return t.includes(e.type)||e.type===`Quantifier`&&e.min&&t.includes(e.body.type)}function Qt(e,t){let n={negate:null,...t};return e.type===`LookaroundAssertion`&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&xe(e.body[0],{type:`Assertion`,kind:`search_start`})}function $t(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function X(e,t){let n=we(e,{...t,unicodePropertyMap:Et}).body;return n.length>1||n[0].body.length>1?O({body:n}):n[0].body[0]}function en(e,t){return e.negate=t,e}function Z(e,t){return e.parent=t,e}function Q(e,t){return Rt(e),e.parent=t,e}function tn(e,t){let n=St(t),r=vt(n.target,`ES2024`),i=vt(n.target,`ES2025`),a=n.rules.recursionLimit;if(!Number.isInteger(a)||a<2||a>20)throw Error(`Invalid recursionLimit; use 2-20`);let o=null,s=null;if(!i){let t=[e.flags.ignoreCase];N(e,nn,{getCurrentModI:()=>t.at(-1),popModI(){t.pop()},pushModI(e){t.push(e)},setHasCasedChar(){t.at(-1)?o=!0:s=!0}})}let c={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||o)&&!s)},l=e,u={accuracy:n.accuracy,appliedGlobalFlags:c,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:l,originMap:e._originMap,recursionLimit:a,useAppliedIgnoreCase:!!(!i&&o&&s),useFlagMods:i,useFlagV:r,verbose:n.verbose};function d(e){return u.lastNode=l,l=e,yt(rn[e.type],`Unexpected node type "${e.type}"`)(e,u,d)}let f={pattern:e.body.map(d).join(`|`),flags:d(e.flags),options:{...e.options}};return r||(delete f.options.force.v,f.options.disable.v=!0,f.options.unicodeSetsPlugin=null),f._captureTransfers=new Map,f._hiddenCaptures=[],u.captureMap.forEach((e,t)=>{e.hidden&&f._hiddenCaptures.push(t),e.transferTo&&q(f._captureTransfers,e.transferTo,[]).push(t)}),f}var nn={"*":{enter({node:e},t){if(hn(e)){let n=t.getCurrentModI();t.pushModI(e.flags?K({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){hn(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){un(H(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),dn(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind===`property`&&Nt.has(e.value)&&t.setHasCasedChar()}},rn={Alternative({body:e},t,n){return e.map(n).join(``)},Assertion({kind:e,negate:t}){if(e===`string_end`)return`$`;if(e===`string_start`)return`^`;if(e===`word_boundary`)return t?U`\B`:U`\b`;throw Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!=`number`)throw Error(`Unexpected named backref in transformed AST`);if(!t.useFlagMods&&t.accuracy===`strict`&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw Error(`Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy`);return`\\`+e},CapturingGroup(e,t,n){let{body:r,name:i,number:a}=e,o={ignoreCase:t.currentFlags.ignoreCase},s=t.originMap.get(e);return s&&(o.hidden=!0,a>s.number&&(o.transferTo=s.number)),t.captureMap.set(a,o),`(${i?`?<${i}>`:``}${r.map(n).join(`|`)})`},Character({value:e},t){let n=H(e),r=$(e,{escDigit:t.lastNode.type===`Backreference`,inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(r!==n)return r;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&un(n)){let e=Tt(n);return t.inCharClass?e.join(``):e.length>1?`[${e.join(``)}]`:e[0]}return n},CharacterClass(e,t,n){let{kind:r,negate:i,parent:a}=e,{body:o}=e;if(r===`intersection`&&!t.useFlagV)throw Error(`Use of character class intersection requires min target ES2024`);W.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&o.some(_n)&&(o=[E(45),...o.filter(e=>!_n(e))]);let s=()=>`[${i?`^`:``}${o.map(n).join(r===`intersection`?`&&`:``)}]`;if(!t.inCharClass){if((!t.useFlagV||W.bugNestedClassIgnoresNegation)&&!i){let t=o.filter(e=>e.type===`CharacterClass`&&e.kind===`union`&&e.negate);if(t.length){let r=O(),i=r.body[0];return r.parent=a,i.parent=r,o=o.filter(e=>!t.includes(e)),e.body=o,o.length?(e.parent=i,i.body.push(e)):r.body.pop(),t.forEach(e=>{let t=C({body:[e]});e.parent=t,t.parent=r,r.body.push(t)}),n(r)}}t.inCharClass=!0;let r=s();return t.inCharClass=!1,r}let c=o[0];if(r===`union`&&!i&&c&&((!t.useFlagV||!t.verbose)&&a.kind===`union`&&!(W.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&a.kind===`intersection`&&o.length===1&&c.type!==`CharacterClassRange`))return o.map(n).join(``);if(!t.useFlagV&&a.type===`CharacterClass`)throw Error(`Uses nested character class in a way that requires min target ES2024`);return s()},CharacterClassRange(e,t){let n=e.min.value,r=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},a=$(n,i),o=$(r,i),s=new Set;return t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&fn(dn(e)).forEach(e=>{s.add(Array.isArray(e)?`${$(e[0],i)}-${$(e[1],i)}`:$(e,i))}),`${a}-${o}${[...s].join(``)}`},CharacterSet({kind:e,negate:t,value:n,key:r},i){if(e===`dot`)return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?`.`:`[^]`:U`[^\n]`;if(e===`digit`)return t?U`\D`:U`\d`;if(e===`property`){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&Nt.has(n))throw Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?U`\P`:U`\p`}{${r?`${r}=`:``}${n}}`}if(e===`word`)return t?U`\W`:U`\w`;throw Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?`i`:``)+(e.dotAll?`s`:``)+(e.sticky?`y`:``)},Group({atomic:e,body:t,flags:n,parent:r},i,a){let o=i.currentFlags;n&&(i.currentFlags=K(o,n));let s=t.map(a).join(`|`),c=!i.verbose&&t.length===1&&r.type!==`Quantifier`&&!e&&(!i.useFlagMods||!n)?s:`(?${pn(e,n,i.useFlagMods)}${s})`;return i.currentFlags=o,c},LookaroundAssertion({body:e,kind:t,negate:n},r,i){return`(?${`${t===`lookahead`?``:`<`}${n?`!`:`=`}`}${e.map(i).join(`|`)})`},Quantifier(e,t,n){return n(e.body)+mn(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw Error(`Unexpected non-recursive subroutine in transformed AST`);let r=n.recursionLimit;return t===0?`(?R=${r})`:U`\g<${t}&R=${r}>`}},an=new Set([`$`,`(`,`)`,`*`,`+`,`.`,`?`,`[`,`\\`,`]`,`^`,`{`,`|`,`}`]),on=new Set([`-`,`\\`,`]`,`^`,`[`]),sn=new Set("()-/[\\]^{|}!#$%&*+,.:;<=>?@`~".split(``)),cn=new Map([[9,U`\t`],[10,U`\n`],[11,U`\v`],[12,U`\f`],[13,U`\r`],[8232,U`\u2028`],[8233,U`\u2029`],[65279,U`\uFEFF`]]),ln=/^\p{Cased}$/u;function un(e){return ln.test(e)}function dn(e,t){let n=!!t?.firstOnly,r=e.min.value,i=e.max.value,a=[];if(r<65&&(i===65535||i>=131071)||r===65536&&i>=131071)return a;for(let e=r;e<=i;e++){let t=H(e);if(!un(t))continue;let o=Tt(t).filter(e=>{let t=e.codePointAt(0);return t<r||t>i});if(o.length&&(a.push(...o),n))break}return a}function $(e,{escDigit:t,inCharClass:n,useFlagV:r}){if(cn.has(e))return cn.get(e);if(e<32||e>126&&e<160||e>262143||t&&gn(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,`0`)}`;let i=n?r?sn:on:an,a=H(e);return(i.has(a)?`\\`:``)+a}function fn(e){let t=e.map(e=>e.codePointAt(0)).sort((e,t)=>e-t),n=[],r=null;for(let e=0;e<t.length;e++)t[e+1]===t[e]+1?r??=t[e]:r===null?n.push(t[e]):(n.push([r,t[e]]),r=null);return n}function pn(e,t,n){if(e)return`>`;let r=``;if(t&&n){let{enable:e,disable:n}=t;r=(e?.ignoreCase?`i`:``)+(e?.dotAll?`s`:``)+(n?`-`:``)+(n?.ignoreCase?`i`:``)+(n?.dotAll?`s`:``)}return`${r}:`}function mn({kind:e,max:t,min:n}){let r;return r=!n&&t===1?`?`:!n&&t===1/0?`*`:n===1&&t===1/0?`+`:n===t?`{${n}}`:`{${n},${t===1/0?``:t}}`,r+{greedy:``,lazy:`?`,possessive:`+`}[e]}function hn({type:e}){return e===`CapturingGroup`||e===`Group`||e===`LookaroundAssertion`}function gn(e){return e>47&&e<58}function _n({type:e,value:t}){return e===`Character`&&t===45}var vn=class e extends RegExp{#e=new Map;#t=null;#n;#r=null;#i=null;rawOptions={};get source(){return this.#n||`(?:)`}constructor(t,n,r){let i=!!r?.lazyCompile;if(t instanceof RegExp){if(r)throw Error(`Cannot provide options when copying a regexp`);let i=t;super(i,n),this.#n=i.source,i instanceof e&&(this.#e=i.#e,this.#r=i.#r,this.#i=i.#i,this.rawOptions=i.rawOptions)}else{let e={hiddenCaptures:[],strategy:null,transfers:[],...r};super(i?``:t,n),this.#n=t,this.#e=bn(e.hiddenCaptures,e.transfers),this.#i=e.strategy,this.rawOptions=r??{}}i||(this.#t=this)}exec(t){if(!this.#t){let{lazyCompile:t,...n}=this.rawOptions;this.#t=new e(this.#n,this.flags,n)}let n=this.global||this.sticky,r=this.lastIndex;if(this.#i===`clip_search`&&n&&r){this.lastIndex=0;let e=this.#a(t.slice(r));return e&&(yn(e,r,t,this.hasIndices),this.lastIndex+=r),e}return this.#a(t)}#a(e){this.#t.lastIndex=this.lastIndex;let t=super.exec.call(this.#t,e);if(this.lastIndex=this.#t.lastIndex,!t||!this.#e.size)return t;let n=[...t];t.length=1;let r;this.hasIndices&&(r=[...t.indices],t.indices.length=1);let i=[0];for(let e=1;e<n.length;e++){let{hidden:a,transferTo:o}=this.#e.get(e)??{};if(a?i.push(null):(i.push(t.length),t.push(n[e]),this.hasIndices&&t.indices.push(r[e])),o&&n[e]!==void 0){let a=i[o];if(!a)throw Error(`Invalid capture transfer to "${a}"`);if(t[a]=n[e],this.hasIndices&&(t.indices[a]=r[e]),t.groups){this.#r||=xn(this.source);let i=this.#r.get(o);i&&(t.groups[i]=n[e],this.hasIndices&&(t.indices.groups[i]=r[e]))}}}return t}};function yn(e,t,n,r){if(e.index+=t,e.input=n,r){let n=e.indices;for(let e=0;e<n.length;e++){let r=n[e];r&&(n[e]=[r[0]+t,r[1]+t])}let r=n.groups;r&&Object.keys(r).forEach(e=>{let n=r[e];n&&(r[e]=[n[0]+t,n[1]+t])})}}function bn(e,t){let n=new Map;for(let t of e)n.set(t,{hidden:!0});for(let[e,r]of t)for(let t of r)q(n,t,{}).transferTo=e;return n}function xn(e){let t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map,r=0,i=0,a;for(;a=t.exec(e);){let{0:e,groups:{capture:t,name:o}}=a;e===`[`?r++:r?e===`]`&&r--:t&&(i++,o&&n.set(i,o))}return n}function Sn(e,t){let n=Cn(e,t);return n.options?new vn(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function Cn(e,t){let n=St(t),r=Pt(we(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:Et}),{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),i=tn(r,n),a=ft(i.pattern,{captureTransfers:i._captureTransfers,hiddenCaptures:i._hiddenCaptures,mode:`external`}),o=ot(ct(a.pattern).pattern,{captureTransfers:a.captureTransfers,hiddenCaptures:a.hiddenCaptures}),s={pattern:o.pattern,flags:`${n.hasIndices?`d`:``}${n.global?`g`:``}${i.flags}${i.options.disable.v?`u`:`v`}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw Error(`Lazy compilation requires subclass`)}else{let e=o.hiddenCaptures.sort((e,t)=>e-t),t=Array.from(o.captureTransfers),i=r._strategy,a=s.pattern.length>=n.lazyCompileLength;(e.length||t.length||i||a)&&(s.options={...e.length&&{hiddenCaptures:e},...t.length&&{transfers:t},...i&&{strategy:i},...a&&{lazyCompile:a}})}return s}var wn=4294967295,Tn=class{constructor(e,t={}){this.patterns=e,this.options=t;let{forgiving:n=!1,cache:r,regexConstructor:i}=t;if(!i)throw Error("Option `regexConstructor` is not provided");this.regexps=e.map(e=>{if(typeof e!=`string`)return e;let t=r?.get(e);if(t){if(t instanceof RegExp)return t;if(n)return null;throw t}try{let t=i(e);return r?.set(e,t),t}catch(t){if(r?.set(e,t),n)return null;throw t}})}regexps;findNextMatchSync(e,t,n){let r=typeof e==`string`?e:e.content,i=[];function a(e,t,n=0){return{index:e,captureIndices:t.indices.map(e=>e==null?{start:wn,end:wn,length:0}:{start:e[0]+n,end:e[1]+n,length:e[1]-e[0]})}}for(let e=0;e<this.regexps.length;e++){let n=this.regexps[e];if(n)try{n.lastIndex=t;let o=n.exec(r);if(!o)continue;if(o.index===t)return a(e,o,0);i.push([e,o,0])}catch(e){if(this.options.forgiving)continue;throw e}}if(i.length){let e=Math.min(...i.map(e=>e[1].index));for(let[t,n,r]of i)if(n.index===e)return a(t,n,r)}return null}};function En(e,t){return Sn(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function Dn(e={}){let t=Object.assign({target:`auto`,cache:new Map},e);return t.regexConstructor||=e=>En(e,{target:t.target}),{createScanner(e){return new Tn(e,t)},createString(e){return{content:e}}}}function On(){let e={cache:new Map,regexConstructor:()=>{throw Error(`JavaScriptRawEngine: only support precompiled grammar`)}};return{createScanner(t){return new Tn(t,e)},createString(e){return{content:e}}}}export{Tn as JavaScriptScanner,On as createJavaScriptRawEngine,Dn as createJavaScriptRegexEngine,En as defaultJavaScriptRegexConstructor};