var OnigurumaToEs=(()=>{var be=Object.defineProperty;var Tt=Object.getOwnPropertyDescriptor;var Rt=Object.getOwnPropertyNames;var Ut=Object.prototype.hasOwnProperty;var Dt=(e,t)=>{for(var r in t)be(e,r,{get:t[r],enumerable:!0})},Bt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Rt(t))!Ut.call(e,s)&&s!==r&&be(e,s,{get:()=>t[s],enumerable:!(n=Tt(t,s))||n.enumerable});return e};var Vt=e=>Bt(be({},"__esModule",{value:!0}),e);var pn={};Dt(pn,{EmulatedRegExp:()=>oe,toOnigurumaAst:()=>un,toRegExp:()=>ln,toRegExpDetails:()=>Lt});var x=String.fromCodePoint,g=String.raw,D={flagGroups:(()=>{try{new RegExp("(?i:)")}catch{return!1}return!0})(),unicodeSets:(()=>{try{new RegExp("","v")}catch{return!1}return!0})()};D.literalHyphenIncorrectlyCreatesRange=(()=>{if(!D.unicodeSets)return!1;try{new RegExp(g`[\d\-a]`,"v")}catch{return!0}return!1})();function Q(e,{enable:t,disable:r}){return{dotAll:!r?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!r?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function L(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}function J(e,t){return ke[e]>=ke[t]}function I(e,t){if(!e)throw new Error(t??"Value expected");return e}var ke={ES2025:2025,ES2024:2024,ES2018:2018},jt={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function pe(e){if(e?.target!==void 0&&!jt[e.target])throw new 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=D.flagGroups?"ES2025":D.unicodeSets?"ES2024":"ES2018"),t}var Wt=new Set([x(304),x(305)]);function Ae(e){if(Wt.has(e))return[e];let t=new Set,r=e.toLowerCase(),n=r.toUpperCase(),s=Qt.get(r),a=zt.get(r),i=Kt.get(r);return[...n].length===1&&t.add(n),i&&t.add(i),s&&t.add(s),t.add(r),a&&t.add(a),[...t]}var xe=new Set(`C Other Cc Control cntrl Cf Format Cn Unassigned Co Private_Use Cs Surrogate L Letter LC Cased_Letter Ll Lowercase_Letter Lm Modifier_Letter Lo Other_Letter Lt Titlecase_Letter Lu Uppercase_Letter M Mark Combining_Mark Mc Spacing_Mark Me Enclosing_Mark Mn Nonspacing_Mark N Number Nd Decimal_Number digit Nl Letter_Number No Other_Number P Punctuation punct Pc Connector_Punctuation Pd Dash_Punctuation Pe Close_Punctuation Pf Final_Punctuation Pi Initial_Punctuation Po Other_Punctuation Ps Open_Punctuation S Symbol Sc Currency_Symbol Sk Modifier_Symbol Sm Math_Symbol So Other_Symbol Z Separator Zl Line_Separator Zp Paragraph_Separator Zs Space_Separator ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component EComp Emoji_Modifier EMod Emoji_Modifier_Base EBase Emoji_Presentation EPres Extended_Pictographic ExtPict Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS`.split(/\s/)),Ee=new Map;for(let e of xe)Ee.set(Y(e),e);var Ht=new Set(["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji","RGI_Emoji_Flag_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence"]),Se=new Map;for(let e of Ht)Se.set(Y(e),e);var zt=new Map([["s",x(383)],[x(383),"s"]]),Kt=new Map([[x(223),x(7838)],[x(107),x(8490)],[x(229),x(8491)],[x(969),x(8486)]]),Qt=new Map([B(453),B(456),B(459),B(498),...ye(8072,8079),...ye(8088,8095),...ye(8104,8111),B(8124),B(8140),B(8188)]),fe=new Map([["alnum",g`[\p{Alpha}\p{Nd}]`],["alpha",g`\p{Alpha}`],["ascii",g`\p{ASCII}`],["blank",g`[\p{Zs}\t]`],["cntrl",g`\p{cntrl}`],["digit",g`\p{Nd}`],["graph",g`[\P{space}&&\P{cntrl}&&\P{Cn}&&\P{Cs}]`],["lower",g`\p{Lower}`],["print",g`[[\P{space}&&\P{cntrl}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",g`[\p{P}\p{S}]`],["space",g`\p{space}`],["upper",g`\p{Upper}`],["word",g`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",g`\p{AHex}`]]),He=new Set(["alnum","blank","graph","print","word","xdigit"]);function qt(e,t){let r=[];for(let n=e;n<=t;n++)r.push(n);return r}function Y(e){return e.replace(/[- _]+/g,"").toLowerCase()}function B(e){let t=x(e);return[t.toLowerCase(),t]}function ye(e,t){return qt(e,t).map(r=>B(r))}var Fe=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);var d={Alternator:"Alternator",Assertion:"Assertion",Backreference:"Backreference",Character:"Character",CharacterClassClose:"CharacterClassClose",CharacterClassHyphen:"CharacterClassHyphen",CharacterClassIntersector:"CharacterClassIntersector",CharacterClassOpen:"CharacterClassOpen",CharacterSet:"CharacterSet",Directive:"Directive",GroupClose:"GroupClose",GroupOpen:"GroupOpen",Subroutine:"Subroutine",Quantifier:"Quantifier",VariableLengthCharacterSet:"VariableLengthCharacterSet",EscapedNumber:"EscapedNumber"},S={any:"any",digit:"digit",dot:"dot",hex:"hex",non_newline:"non_newline",posix:"posix",property:"property",space:"space",word:"word"},ee={flags:"flags",keep:"keep"},F={absent_repeater:"absent_repeater",atomic:"atomic",capturing:"capturing",group:"group",lookahead:"lookahead",lookbehind:"lookbehind"},ze=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]),Qe=g`\[\^?`,qe=`c.? | C(?:-.?)?|${g`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${g`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${g`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${g`o\{[^\}]*\}?`}|${g`\d{1,3}`}`,Xe=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,he=new RegExp(g` \\ (?: ${qe} | [gk]<[^>]*>? | [gk]'[^']*'? | . ) | \( (?: \? (?: [:=!>({] | <[=!] | <[^>]*> | '[^']*' | ~\|? | #(?:[^)\\]|\\.?)* | [^:)]*[:)] )? | \* )? | ${Xe.source} | ${Qe} | . `.replace(/\s+/g,""),"gsu"),_e=new RegExp(g` \\ (?: ${qe} | . ) | \[:(?:\^?\p{Alpha}+|\^):\] | ${Qe} | && | . `.replace(/\s+/g,""),"gsu");function te(e,t="",r){if(r={captureGroup:!1,singleline:!1,...r},typeof e!="string")throw new Error("String expected as pattern");if(!/^[imxDSW]*$/.test(t))throw new Error(`Flags "${t}" includes unsupported value`);let n=t.includes("x"),s=[n],a={captureGroup:r.captureGroup,getCurrentModX:()=>s.at(-1),numOpenGroups:0,popModX(){s.pop()},pushModX(f){s.push(f)},replaceCurrentModX(f){s[s.length-1]=f},singleline:r.singleline},i=[],o;for(he.lastIndex=0;o=he.exec(e);){let f=Xt(a,e,o[0],he.lastIndex);f.tokens?i.push(...f.tokens):f.token&&i.push(f.token),f.lastIndex!==void 0&&(he.lastIndex=f.lastIndex)}let c=[],l=0;i.forEach(f=>{f.type===d.GroupOpen&&(f.kind===F.capturing?f.number=++l:f.raw==="("&&c.push(f))}),l||c.forEach((f,m)=>{f.kind=F.capturing,f.number=m+1});let u=l||c.length;return i=i.map(f=>f.type===d.EscapedNumber?ar(f,u):f).flat(),{tokens:i,flags:{ignoreCase:t.includes("i"),dotAll:t.includes("m"),extended:n,digitIsAscii:t.includes("D"),spaceIsAscii:t.includes("S"),wordIsAscii:t.includes("W")},rules:r}}function Xt(e,t,r,n){let[s,a]=r;if(s==="["){let i=Zt(t,r,n);return{tokens:i.tokens,lastIndex:i.lastIndex}}if(s==="\\"){if("AbBGzZ".includes(a))return{token:b(d.Assertion,r,{kind:r})};if(/^\\g[<']/.test(r)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:b(d.Subroutine,r)}}if(/^\\k[<']/.test(r)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:b(d.Backreference,r)}}if(a==="K")return{token:b(d.Directive,r,{kind:ee.keep})};if(a==="N")return{token:b(d.CharacterSet,r,{kind:S.non_newline})};if(a==="O")return{token:b(d.CharacterSet,r,{kind:S.any})};if("RX".includes(a))return{token:b(d.VariableLengthCharacterSet,r,{kind:r})};if("yY".includes(a))throw new Error(`Unsupported grapheme boundary "${r}"`);let i=Ze(r,{inCharClass:!1});return Array.isArray(i)?{tokens:i}:{token:i}}if(s==="("){if(r==="(*")throw new Error(`Unsupported named callout "${r}"`);if(r==="(?{")throw new Error(`Unsupported callout "${r}"`);if(r==="(?#"){if(t[n]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:n+1}}if(/^\(\?[-imx]+[:)]$/.test(r))return{token:er(r,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,r==="("&&!e.captureGroup||r==="(?:")return{token:b(d.GroupOpen,r,{kind:F.group})};if(r==="(?>")return{token:b(d.GroupOpen,r,{kind:F.atomic})};if(r==="(?="||r==="(?!"||r==="(?<="||r==="(?")||r.startsWith("(?'")&&r.endsWith("'")){let i=b(d.GroupOpen,r,{kind:F.capturing});return r!=="("&&(i.name=r.slice(3,-1)),{token:i}}if(r.startsWith("(?~")){if(r==="(?~|")throw new Error(`Unsupported absent function kind "${r}"`);return{token:b(d.GroupOpen,r,{kind:F.absent_repeater})}}throw r==="(?("?new Error(`Unsupported conditional "${r}"`):new Error(`Invalid or unsupported group option "${r}"`)}if(r===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:b(d.GroupClose,r)}}if(r==="#"&&e.getCurrentModX()){let i=t.indexOf(` `,n);return{lastIndex:i===-1?t.length:i}}if(/^\s$/.test(r)&&e.getCurrentModX()){let i=/\s+/y;return i.lastIndex=n,{lastIndex:i.exec(t)?i.lastIndex:n}}if(r===".")return{token:b(d.CharacterSet,r,{kind:S.dot})};if(r==="^"||r==="$"){let i=e.singleline?{"^":g`\A`,$:g`\Z`}[r]:r;return{token:b(d.Assertion,r,{kind:i})}}return r==="|"?{token:b(d.Alternator,r)}:Xe.test(r)?{token:tr(r)}:(Je(r),{token:b(d.Character,r,{value:r.codePointAt(0)})})}function Zt(e,t,r){let n=[b(d.CharacterClassOpen,t,{negate:t[1]==="^"})],s=1,a;for(_e.lastIndex=r;a=_e.exec(e);){let i=a[0];if(i[0]==="["&&i[1]!==":")s++,n.push(b(d.CharacterClassOpen,i,{negate:i[1]==="^"}));else if(i==="]"){if(n.at(-1).type===d.CharacterClassOpen)n.push(b(d.Character,i,{value:93}));else if(s--,n.push(b(d.CharacterClassClose,i)),!s)break}else{let o=Jt(i);Array.isArray(o)?n.push(...o):n.push(o)}}return{tokens:n,lastIndex:_e.lastIndex||e.length}}function Jt(e){if(e[0]==="\\")return Ze(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?\^?)(?[a-z]+):\]/.exec(e);if(!t||!fe.get(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return b(d.CharacterSet,e,{kind:S.posix,negate:!!t.groups.negate,value:t.groups.name})}return e==="-"?b(d.CharacterClassHyphen,e):e==="&&"?b(d.CharacterClassIntersector,e):(Je(e),b(d.Character,e,{value:e.codePointAt(0)}))}function Ze(e,{inCharClass:t}){let r=e[1];if(r==="c"||r==="C")return Yt(e);if("dDhHsSwW".includes(r))return rr(e);if(e.startsWith(g`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error(`Incomplete or invalid Unicode property "${e}"`);return nr(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let n=e.split(/\\x/).slice(1).map(o=>parseInt(o,16)),s=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(n)),a=new TextEncoder;return[...s].map(o=>{let c=[...a.encode(o)].map(l=>`\\x${l.toString(16)}`).join("");return b(d.Character,c,{value:o.codePointAt(0)})})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(r==="u"||r==="x")return b(d.Character,e,{value:sr(e)});if(ze.has(r))return b(d.Character,e,{value:ze.get(r)});if(/\d/.test(r))return b(d.EscapedNumber,e,{inCharClass:t});if(e==="\\")throw new Error(g`Incomplete escape "\"`);if(r==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return b(d.Character,e,{value:e.codePointAt(1)});throw new Error(`Unexpected escape "${e}"`)}function b(e,t,r){return{type:e,raw:t,...r}}function Yt(e){let t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error(`Unsupported control character "${e}"`);return b(d.Character,e,{value:t.toUpperCase().codePointAt(0)-64})}function er(e,t){let{on:r,off:n}=/^\(\?(?[imx]*)(?:-(?[-imx]*))?/.exec(e).groups;n??="";let s=(t.getCurrentModX()||r.includes("x"))&&!n.includes("x"),a=Ke(r),i=Ke(n),o={};if(a&&(o.enable=a),i&&(o.disable=i),e.endsWith(")"))return t.replaceCurrentModX(s),b(d.Directive,e,{kind:ee.flags,flags:o});if(e.endsWith(":")){t.pushModX(s),t.numOpenGroups++;let c=b(d.GroupOpen,e,{kind:F.group});return(a||i)&&(c.flags=o),c}throw new Error(`Unexpected flag modifier "${e}"`)}function tr(e){let t={};if(e[0]==="{"){let{min:r,max:n}=/^\{(?\d*)(?:,(?\d*))?/.exec(e).groups,s=1e5;if(+r>s||+n>s)throw new Error("Quantifier value unsupported in Oniguruma");t.min=+r,t.max=n===void 0?+r:n===""?1/0:+n,t.greedy=!e.endsWith("?"),t.possessive=!1}else t.min=e[0]==="+"?1:0,t.max=e[0]==="?"?1:1/0,t.greedy=e[1]!=="?",t.possessive=e[1]==="+";return b(d.Quantifier,e,t)}function rr(e){let t=e[1].toLowerCase();return b(d.CharacterSet,e,{kind:{d:S.digit,h:S.hex,s:S.space,w:S.word}[t],negate:e[1]!==t})}function nr(e){let{p:t,neg:r,value:n}=/^\\(?

[pP])\{(?\^?)(?[^}]+)/.exec(e).groups,s=t==="P"&&!r||t==="p"&&!!r;return b(d.CharacterSet,e,{kind:S.property,negate:s,value:n})}function Ke(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 sr(e){if(/^(?:\\u(?!\p{AHex}{4})|\\x(?!\p{AHex}{1,2}|\{\p{AHex}{1,8}\}))/u.test(e))throw new Error(`Incomplete or invalid escape "${e}"`);let t=e[2]==="{"?/^\\x\{\s*(?\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function ar(e,t){let{raw:r,inCharClass:n}=e,s=r.slice(1);if(!n&&(s!=="0"&&s.length===1||s[0]!=="0"&&+s<=t))return[b(d.Backreference,r)];let a=[],i=s.match(/^[0-7]+|\d/g);for(let o=0;o127)throw new Error(g`Octal encoded byte above 177 unsupported "${r}"`)}else l=c.codePointAt(0);a.push(b(d.Character,(o===0?"\\":"")+c,{value:l}))}return a}function Je(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`)}function re({alternatives:e},t){return e.length===1&&e[0].elements.length===1&&(!t||t(e[0].elements[0]))}function Ye({type:e}){return e===p.Assertion||e===p.Directive}function et(e){let t=[p.Character,p.CharacterClass,p.CharacterSet];return t.includes(e.type)||e.type===p.Quantifier&&e.min&&t.includes(e.element.type)}function ge({type:e}){return e===p.CapturingGroup||e===p.Group}function V({type:e,kind:t}){return e===p.Assertion&&(t===k.lookahead||t===k.lookbehind)}function O(e,t,r){let n=e.node;for(;n.parent;)n=n.parent;function s(i,o){for(let c=0;c!!r[E]),C=h&&r[h],w=typeof C=="function"?C:C?.enter,y=C?.exit;if(w?.(m,t),!f)switch(i.type){case p.Regex:a(i.pattern,i,"pattern"),a(i.flags,i,"flags");break;case p.Alternative:case p.CharacterClass:s(i.elements,i);break;case p.Assertion:V(i)&&s(i.alternatives,i);break;case p.Backreference:case p.Character:case p.CharacterSet:case p.Directive:case p.Flags:case p.Recursion:case p.Subroutine:case p.VariableLengthCharacterSet:break;case p.AbsentFunction:case p.CapturingGroup:case p.Group:case p.Pattern:s(i.alternatives,i);break;case p.CharacterClassIntersection:s(i.classes,i);break;case p.CharacterClassRange:a(i.min,i,"min"),a(i.max,i,"max");break;case p.Quantifier:a(i.element,i,"element");break;default:throw new Error(`Unexpected node type "${i.type}"`)}return y?.(m,t),u}a(e.node,e.parent,e.key,e.container)}var tt={AnyGroup:"AnyGroup",AnyNode:"AnyNode"};function ir(e){let t=[tt.AnyNode];return(ge(e)||V(e))&&t.push(tt.AnyGroup),t.push(e.type),t}function or(e,t){"parent"in t&&(e.parent=t)}var p={AbsentFunction:"AbsentFunction",Alternative:"Alternative",Assertion:"Assertion",Backreference:"Backreference",CapturingGroup:"CapturingGroup",Character:"Character",CharacterClass:"CharacterClass",CharacterClassIntersection:"CharacterClassIntersection",CharacterClassRange:"CharacterClassRange",CharacterSet:"CharacterSet",Directive:"Directive",Flags:"Flags",Group:"Group",Pattern:"Pattern",Quantifier:"Quantifier",Regex:"Regex",Subroutine:"Subroutine",VariableLengthCharacterSet:"VariableLengthCharacterSet",Recursion:"Recursion"},st={repeater:"repeater"},k={line_end:"line_end",line_start:"line_start",lookahead:"lookahead",lookbehind:"lookbehind",search_start:"search_start",string_end:"string_end",string_end_newline:"string_end_newline",string_start:"string_start",word_boundary:"word_boundary"},A=S,se=ee,ne={grapheme:"grapheme",newline:"newline"};function ae({tokens:e,flags:t,rules:r},n){let s={skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,verbose:!1,...n},a={capturingGroups:[],current:0,hasNumberedRef:!1,namedGroupsByName:new Map,parent:null,skipBackrefValidation:s.skipBackrefValidation,skipLookbehindValidation:s.skipLookbehindValidation,skipPropertyNameValidation:s.skipPropertyNameValidation,subroutines:[],token:null,tokens:e,verbose:s.verbose,walk:i};function i(h,C){let w=e[a.current];switch(a.parent=h,a.token=w,a.current++,w.type){case d.Alternator:return T();case d.Assertion:return Cr(w);case d.Backreference:return cr(a);case d.Character:return Ce(w.value,{useLastValid:!!C.isCheckingRangeEnd});case d.CharacterClassHyphen:return ur(a,C);case d.CharacterClassOpen:return lr(a,C);case d.CharacterSet:return pr(a);case d.Directive:return kr(w);case d.GroupOpen:return fr(a,C);case d.Quantifier:return hr(a);case d.Subroutine:return gr(a);case d.VariableLengthCharacterSet:return Sr(w.kind);default:throw new Error(`Unexpected token type "${w.type}"`)}}let o=xr(Ar(),yr(t)),c=o.pattern.alternatives[0];for(;a.currentl.length)throw new Error("Subroutine uses a group number that's not defined")}else if(f.has(h)){if(f.get(h).length>1)throw new Error(g`Subroutine uses a duplicate group name "\g<${h}>"`)}else throw new Error(g`Subroutine uses a group name that's not defined "\g<${h}>"`);return O({node:o},null,{AnyNode({node:h,parent:C}){h.parent=C}}),o}function cr(e){let{raw:t}=e.token,r=/^\\k[<']/.test(t),n=r?t.slice(3,-1):t.slice(1),s=(a,i=!1)=>{let o=e.capturingGroups.length,c=!1;if(a>o)if(e.skipBackrefValidation)c=!0;else throw new Error(`Not enough capturing groups defined to the left "${t}"`);return e.hasNumberedRef=!0,de(i?o+1-a:a,{orphan:c})};if(r){let a=/^(?-?)0*(?[1-9]\d*)$/.exec(n);if(a)return s(+a.groups.num,!!a.groups.sign);if(/[-+]/.test(n))throw new Error(`Invalid backref name "${t}"`);if(!e.namedGroupsByName.has(n))throw new Error(`Group name not defined to the left "${t}"`);return de(n)}return s(+n)}function ur(e,t){let{parent:r,tokens:n,walk:s}=e,a=r.elements.at(-1),i=n[e.current];if(!t.isCheckingRangeEnd&&a&&a.type!==p.CharacterClass&&a.type!==p.CharacterClassRange&&i&&i.type!==d.CharacterClassOpen&&i.type!==d.CharacterClassClose&&i.type!==d.CharacterClassIntersector){let o=s(r,{...t,isCheckingRangeEnd:!0});if(a.type===p.Character&&o.type===p.Character)return r.elements.pop(),br(a,o);throw new Error("Invalid character class range")}return Ce(45)}function lr(e,t){let{token:r,tokens:n,verbose:s,walk:a}=e,i=n[e.current],o=Ie({negate:r.negate}),c=o.elements[0],l=rt(i);for(;l.type!==d.CharacterClassClose;){if(l.type===d.CharacterClassIntersector)c.classes.push(Ie({negate:!1,baseOnly:!0})),e.current++;else{let u=c.classes.at(-1);u.elements.push(a(u,t))}l=rt(n[e.current],i)}if(s||$r(c),c.classes.length===1){let u=c.classes[0];u.negate=o.negate!==u.negate,o=u}return e.current++,o}function pr({token:e,skipPropertyNameValidation:t}){let{kind:r,negate:n,value:s}=e;if(r===S.property){let a=Y(s);if(He.has(a))r=S.posix,s=a;else return W(s,{negate:n,skipPropertyNameValidation:t})}return r===S.posix?{type:p.CharacterSet,kind:A.posix,negate:n,value:s}:me(r,{negate:n})}function fr(e,t){let{token:r,tokens:n,capturingGroups:s,namedGroupsByName:a,skipLookbehindValidation:i,verbose:o,walk:c}=e,l=mr(r),u=l.type===p.AbsentFunction,f=l.kind===k.lookbehind,m=f&&l.negate;if(l.type===p.CapturingGroup&&(s.push(l),l.name&&L(a,l.name,[]).push(l)),u&&t.isInAbsentFunction)throw new Error("Nested absent function not supported by Oniguruma");let h=nt(n[e.current]);for(;h.type!==d.GroupClose;){if(h.type===d.Alternator)l.alternatives.push(T()),e.current++;else{let C=l.alternatives.at(-1),w=c(C,{...t,isInAbsentFunction:t.isInAbsentFunction||u,isInLookbehind:t.isInLookbehind||f,isInNegLookbehind:t.isInNegLookbehind||m});if(C.elements.push(w),(f||t.isInLookbehind)&&!i){let y="Lookbehind includes a pattern not allowed by Oniguruma";if(m||t.isInNegLookbehind){if(w.kind===k.lookahead||w.type===p.CapturingGroup)throw new Error(y)}else if(w.kind===k.lookahead||w.kind===k.lookbehind&&w.negate)throw new Error(y)}}h=nt(n[e.current])}return o||(l=_r(l)),e.current++,l}function hr({token:e,parent:t}){let{min:r,max:n,greedy:s,possessive:a}=e,i=t.elements.at(-1);if(!i||i.type===p.Assertion||i.type===p.Directive)throw new Error("Quantifier requires a repeatable token");let o=Ge(i,r,n,s,a);return t.elements.pop(),o}function gr(e){let{token:t,capturingGroups:r,subroutines:n}=e,s=t.raw.slice(3,-1),a=/^(?[-+]?)0*(?[1-9]\d*)$/.exec(s);if(a){let o=+a.groups.num,c=r.length;if(e.hasNumberedRef=!0,s={"":o,"+":c+o,"-":c+1-o}[a.groups.sign],s<1)throw new Error("Invalid subroutine number")}else s==="0"&&(s=0);let i=Er(s);return n.push(i),i}function dr(e){if(e!==st.repeater)throw new Error(`Unexpected absent function kind "${e}"`);return{type:p.AbsentFunction,kind:e,alternatives:[T()]}}function T(){return{type:p.Alternative,elements:[]}}function $e(e,t){let r=!!t?.negate;return{type:p.Assertion,kind:e,...e===k.word_boundary&&{negate:r}}}function Cr({kind:e}){return $e(I({"^":k.line_start,$:k.line_end,"\\A":k.string_start,"\\b":k.word_boundary,"\\B":k.word_boundary,"\\G":k.search_start,"\\z":k.string_end,"\\Z":k.string_end_newline}[e],`Unexpected assertion kind "${e}"`),{negate:e===g`\B`})}function de(e,t){let r=!!t?.orphan;return{type:p.Backreference,...r&&{orphan:r},ref:e}}function mr({flags:e,kind:t,name:r,negate:n,number:s}){switch(t){case F.absent_repeater:return dr(st.repeater);case F.atomic:return G({atomic:!0});case F.capturing:return ve(s,r);case F.group:return G({flags:e});case F.lookahead:case F.lookbehind:return q({behind:t===F.lookbehind,negate:n});default:throw new Error(`Unexpected group kind "${t}"`)}}function ve(e,t){let r=t!==void 0;if(r&&!Ir(t))throw new Error(`Group name "${t}" invalid in Oniguruma`);return{type:p.CapturingGroup,number:e,...r&&{name:t},alternatives:[T()]}}function Ce(e,t){let r={useLastValid:!1,...t};if(e>1114111){let n=e.toString(16);if(r.useLastValid)e=1114111;else throw e>1310719?new Error(`Invalid code point out of range "\\x{${n}}"`):new Error(`Invalid code point out of range in JS "\\x{${n}}"`)}return{type:p.Character,value:e}}function Ie(e){let t={baseOnly:!1,negate:!1,...e};return{type:p.CharacterClass,negate:t.negate,elements:t.baseOnly?[]:[wr()]}}function wr(){return{type:p.CharacterClassIntersection,classes:[Ie({negate:!1,baseOnly:!0})]}}function br(e,t){if(t.valuen[0].toUpperCase()+n.slice(1).toLowerCase())}function _r(e){let t=e.alternatives[0].elements[0];return e.type===p.Group&&re(e,r=>r.type===p.Group)&&!(e.atomic&&t.flags)&&!(e.flags&&(t.atomic||t.flags))?(e.atomic?t.atomic=!0:e.flags&&(t.flags=e.flags),t):e}function Ir(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function $r(e){for(let t=0;tnew RegExp(Me`[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[${it}]{2}[\u{E0030}-\u{E0039}${it}]{1,3}\u{E007F}|${at}(?:\u200D${at})*`,"gu");function ut(e,t){let r={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t},n={accuracy:r.accuracy,asciiWordBoundaries:r.asciiWordBoundaries,avoidSubclass:r.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:J(r.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};O({node:e},n,lt);let s={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},a={currentFlags:s,prevFlags:null,globalFlags:s,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:n.subroutineRefMap};O({node:e},a,pt);let i={groupsByName:a.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:a.reffedNodesByReferencer};return O({node:e},i,vr),e._originMap=a.groupOriginByCopy,e._strategy=n.strategy,e}var lt={AbsentFunction({node:e,replaceWith:t}){let r=U(G(),[ie(q({negate:!0}),e.alternatives),W("Any")]),n=Ge(r,0,1/0);r.parent=n,t(U(G(),[n]))},Alternative:{enter({node:e,parent:t,key:r},{flagDirectivesByAlt:n}){let s=e.elements.filter(a=>a.kind===se.flags);for(let a=r+1;aC.type===p.Group)&&f.alternatives.length===1?f:s.pattern;if(n.parent!==h||h.alternatives.length>1)throw new Error(g`Uses "\K" in a way that's unsupported`);i(U(q({behind:!0}),o()))}},Flags({node:e,parent:t}){["digitIsAscii","extended","spaceIsAscii","wordIsAscii"].forEach(r=>delete e[r]),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:r}=e.flags;t?.extended&&delete t.extended,r?.extended&&delete r.extended,t?.dotAll&&r?.dotAll&&delete t.dotAll,t?.ignoreCase&&r?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,r&&!Object.keys(r).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},Pattern:{enter({node:e},{supportedGNodes:t}){let r=[],n=!1,s=!1;for(let a of e.alternatives)if(a.elements.length===1&&a.elements[0].kind===k.search_start)a.elements.pop();else{let i=dt(a.elements);i?(n=!0,Array.isArray(i)?r.push(...i):r.push(i)):s=!0}n&&!s&&r.forEach(a=>t.add(a))},exit(e,{accuracy:t,passedLookbehind:r,strategy:n}){if(t==="strict"&&r&&n)throw new Error(g`Uses "\G" in a way that requires non-strict accuracy`)}},Quantifier({node:e}){if(e.element.type===p.Quantifier){let t=U(G(),[e.element]);t.parent=e,e.element=t}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:r}=e;typeof r=="string"&&!Le(r)&&(r=Ne(r,t),e.ref=r)},VariableLengthCharacterSet({node:e,replaceWith:t},{accuracy:r,minTargetEs2024:n}){let{kind:s}=e;if(s===ne.newline)t(M(`(?>\r ?|[ \v\f\x85\u2028\u2029])`));else if(s===ne.grapheme){if(r==="strict")throw new Error(g`Use of "\X" requires non-strict accuracy`);let a=n?g`\p{RGI_Emoji}`:ot().source.replace(/\\u\{/g,"\\x{");t(M(g`(?>\r\n|${a}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}))}else throw new Error(`Unexpected varcharset kind "${s}"`)}},pt={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:r}){let{orphan:n,ref:s}=e;n||r.set(e,[...t.get(s).map(({node:a})=>a)])},CapturingGroup:{enter({node:e,replaceWith:t,skip:r},{groupOriginByCopy:n,groupsByName:s,multiplexCapturesToLeftByRef:a,openRefs:i,reffedNodesByReferencer:o}){let c=n.get(e);if(c&&i.has(e.number)){let u=ct(e.number);o.set(u,i.get(e.number)),t(u),r();return}i.set(e.number,e),a.set(e.number,[]),e.name&&L(a,e.name,[]);let l=a.get(e.name??e.number);for(let u=0;uf.type===p.Group&&!!f.flags)),u=l?Q(t.globalFlags,l):t.globalFlags;Mr(u,t.currentFlags)||(c=U(G({flags:Pr(u)}),[o]))}n(c),i||mt(c,e,t,pt)}},vr={Backreference({node:e,replaceWith:t},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}let s=r.reffedNodesByReferencer.get(e).filter(a=>Nr(a,e));if(!s.length)t(U(q({negate:!0})));else if(s.length>1){let a=s.map(i=>ie(T(),[de(i.number)]));t(ie(G(),a))}else e.ref=s[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Recursion({node:e},t){e.ref!==0&&(e.ref=t.reffedNodesByReferencer.get(e).number)},Regex:{exit({node:e},t){let r=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let n=0;nr.parent=e),e[Oe(e)]=t,e}function Mr(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function Nr(e,t){let r=t;do{if(r.type===p.Pattern)return!1;if(r.type===p.Alternative)continue;if(r===e)return!1;let n=gt(r.parent);for(let s of n){if(s===r)break;if(s===e||Ct(s,e))return!0}}while(r=r.parent);throw new Error("Unexpected path")}function ft(e,t,r,n){let s=Array.isArray(e)?[]:{};for(let[a,i]of Object.entries(e))a==="parent"?s.parent=Array.isArray(r)?n:r:i&&typeof i=="object"?s[a]=ft(i,t,s,r):(a==="type"&&i===p.CapturingGroup&&t.set(s,t.get(e)??e),s[a]=i);return s}function ct(e){return{type:p.Recursion,ref:e}}function Lr(e,t){let r=[];for(;e=e.parent;)(!t||t(e))&&r.push(e);return r}function Ne(e,t){if(t.has(e))return t.get(e);let r=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return t.set(e,r),r}function Oe(e){for(let t of["alternatives","classes","elements"])if(e[t])return t;return null}function ht(e){let t=["dotAll","ignoreCase"],r={enable:{},disable:{}};return e.forEach(({flags:n})=>{t.forEach(s=>{n.enable?.[s]&&(delete r.disable[s],r.enable[s]=!0),n.disable?.[s]&&(r.disable[s]=!0)})}),Object.keys(r.enable).length||delete r.enable,Object.keys(r.disable).length||delete r.disable,r.enable||r.disable?r:null}function Pr({dotAll:e,ignoreCase:t}){let r={};return(e||t)&&(r.enable={},e&&(r.enable.dotAll=!0),t&&(r.enable.ignoreCase=!0)),(!e||!t)&&(r.disable={},!e&&(r.disable.dotAll=!0),!t&&(r.disable.ignoreCase=!0)),r}function gt(e){if(!e)throw new Error("Node expected");if(e.type===p.Quantifier)return[e.element];let t=Oe(e);return t&&e[t]}function dt(e){let t=e.find(r=>r.kind===k.search_start||Or(r,{negate:!1})||!Ye(r));if(!t)return null;if(t.kind===k.search_start)return t;if(V(t))return t.alternatives[0].elements[0];if(ge(t)){let r=[];for(let n of t.alternatives){let s=dt(n.elements);if(!s)return null;Array.isArray(s)?r.push(...s):r.push(s)}return r}return null}function Ct(e,t){let r=gt(e)??[];for(let n of r)if(n===t||Ct(n,t))return!0;return!1}function Or(e,t){let r={negate:null,...t};return V(e)&&(r.negate===null||e.negate===r.negate)&&re(e,n=>n.kind===k.search_start)}function Le(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function M(e,t){let n=ae(te(e),t).pattern.alternatives;return n.length>1||n[0].elements.length>1?ie(G(),n):n[0].elements[0]}function U(e,t){let r=Oe(e);return e[r][0].parent=e,t&&ie(e[r][0],t),e}function Pe(e,t){return e.negate=t,e}function mt(e,{parent:t,key:r,container:n},s,a){O({node:e,parent:t,key:r,container:n},s,a)}function kt(e,t){let r=pe(t),n=J(r.target,"ES2024"),s=J(r.target,"ES2025"),a=r.rules.recursionLimit;if(!Number.isInteger(a)||a<2||a>20)throw new Error("Invalid recursionLimit; use 2-20");let i=null,o=null;if(!s){let h=[e.flags.ignoreCase];O({node:e},{getCurrentModI:()=>h.at(-1),popModI(){h.pop()},pushModI(C){h.push(C)},setHasCasedChar(){h.at(-1)?i=!0:o=!0}},Tr)}let c={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||i)&&!o)},l=null,u={accuracy:r.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:!!(!s&&i&&o),useFlagMods:s,useFlagV:n,verbose:r.verbose};function f(h){switch(u.lastNode=l,l=h,h.type){case p.Regex:return{pattern:f(h.pattern),flags:f(h.flags),options:{...h.options}};case p.Alternative:return h.elements.map(f).join("");case p.Assertion:return Vr(h,u,f);case p.Backreference:return jr(h,u);case p.CapturingGroup:return Wr(h,u,f);case p.Character:return Hr(h,u);case p.CharacterClass:return zr(h,u,f);case p.CharacterClassIntersection:if(!u.useFlagV)throw new Error("Use of class intersection requires min target ES2024");return h.classes.map(f).join("&&");case p.CharacterClassRange:return Kr(h,u);case p.CharacterSet:return Qr(h,u);case p.Flags:return qr(h,u);case p.Group:return Xr(h,u,f);case p.Pattern:return h.alternatives.map(f).join("|");case p.Quantifier:return f(h.element)+en(h);case p.Recursion:return Zr(h,u);default:throw new Error(`Unexpected node type "${h.type}"`)}}let m=f(e);return n||(delete m.options.force.v,m.options.disable.v=!0,m.options.unicodeSetsPlugin=null),m._captureTransfers=new Map,m._hiddenCaptures=[],u.captureMap.forEach((h,C)=>{h.hidden&&m._hiddenCaptures.push(C),h.transferTo&&L(m._captureTransfers,h.transferTo,[]).push(C)}),m}var Tr={AnyGroup:{enter({node:e},t){let r=t.getCurrentModI();t.pushModI(e.flags?Q({ignoreCase:r},e.flags).ignoreCase:r)},exit(e,t){t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){Te(x(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},r){t(),yt(e,{firstOnly:!0}).length&&r.setHasCasedChar()},CharacterSet({node:e},t){e.kind===A.property&&Fe.has(e.value)&&t.setHasCasedChar()}},Rr=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),Ur=new Set(["-","\\","]","^","["]),Dr=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),wt=new Map([[9,g`\t`],[10,g`\n`],[11,g`\v`],[12,g`\f`],[13,g`\r`],[8232,g`\u2028`],[8233,g`\u2029`],[65279,g`\uFEFF`]]),Br=/^\p{Cased}$/u;function Te(e){return Br.test(e)}function Vr(e,t,r){let{kind:n,negate:s,alternatives:a}=e;if(V(e))return`(?${`${n===k.lookahead?"":"<"}${s?"!":"="}`}${a.map(r).join("|")})`;if(n===k.string_end)return"$";if(n===k.string_start)return"^";if(n===k.word_boundary)return s?g`\B`:g`\b`;throw new Error(`Unexpected assertion kind "${n}"`)}function jr({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e}function Wr(e,t,r){let{name:n,number:s,alternatives:a}=e,i={ignoreCase:t.currentFlags.ignoreCase},o=t.originMap.get(e);return o&&(i.hidden=!0,s>o.number&&(i.transferTo=o.number)),t.captureMap.set(s,i),`(${n?`?<${n}>`:""}${a.map(r).join("|")})`}function Hr({value:e},t){let r=x(e),n=X(e,{isAfterBackref:t.lastNode.type===p.Backreference,inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(n!==r)return n;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Te(r)){let s=Ae(r);return t.inCharClass?s.join(""):s.length>1?`[${s.join("")}]`:s[0]}return r}function zr({negate:e,parent:t,elements:r},n,s){D.literalHyphenIncorrectlyCreatesRange&&n.useFlagV&&r.some(bt)&&(r=r.filter(o=>!bt(o)),r.push(Ce(45)));let a=()=>`[${e?"^":""}${r.map(s).join("")}]`;if(!n.inCharClass){n.inCharClass=!0;let o=a();return n.inCharClass=!1,o}let i=r[0]?.type;if(!e&&i&&((!n.useFlagV||!n.verbose)&&t.type===p.CharacterClass&&i!==p.CharacterClassIntersection&&!(D.literalHyphenIncorrectlyCreatesRange&&n.useFlagV)||!n.verbose&&t.type===p.CharacterClassIntersection&&r.length===1&&i!==p.CharacterClass&&i!==p.CharacterClassRange))return r.map(s).join("");if(!n.useFlagV&&t.type===p.CharacterClass)throw new Error("Use of nested character class requires min target ES2024");return a()}function Kr(e,t){let r=e.min.value,n=e.max.value,s={isAfterBackref:!1,inCharClass:!0,useFlagV:t.useFlagV},a=X(r,s),i=X(n,s),o=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){let c=yt(e);Jr(c).forEach(u=>{o.add(Array.isArray(u)?`${X(u[0],s)}-${X(u[1],s)}`:X(u,s))})}return`${a}-${i}${[...o].join("")}`}function Qr({kind:e,negate:t,value:r,key:n},s){if(e===A.dot)return s.currentFlags.dotAll?s.appliedGlobalFlags.dotAll||s.useFlagMods?".":"[^]":g`[^\n]`;if(e===A.digit)return t?g`\D`:g`\d`;if(e===A.property){if(s.useAppliedIgnoreCase&&s.currentFlags.ignoreCase&&Fe.has(r))throw new Error(`Unicode property "${r}" can't be case-insensitive when other chars have specific case`);return`${t?g`\P`:g`\p`}{${n?`${n}=`:""}${r}}`}if(e===A.word)return t?g`\W`:g`\w`;throw new Error(`Unexpected character set kind "${e}"`)}function qr(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")}function Xr({atomic:e,flags:t,parent:r,alternatives:n},s,a){let i=s.currentFlags;t&&(s.currentFlags=Q(i,t));let o=n.map(a).join("|"),c=!s.verbose&&n.length===1&&r.type!==p.Quantifier&&!e&&(!s.useFlagMods||!t)?o:`(?${Yr(e,t,s.useFlagMods)}${o})`;return s.currentFlags=i,c}function Zr({ref:e},t){let r=t.recursionLimit;return e===0?`(?R=${r})`:g`\g<${e}&R=${r}>`}function yt(e,t){let r=!!t?.firstOnly,n=e.min.value,s=e.max.value,a=[];if(n<65&&(s===65535||s>=131071)||n===65536&&s>=131071)return a;for(let i=n;i<=s;i++){let o=x(i);if(!Te(o))continue;let c=Ae(o).filter(l=>{let u=l.codePointAt(0);return us});if(c.length&&(a.push(...c),r))break}return a}function X(e,{isAfterBackref:t,inCharClass:r,useFlagV:n}){if(wt.has(e))return wt.get(e);if(e<32||e>126&&e<160||e>262143||t&&tn(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;let s=r?n?Dr:Ur:Rr,a=x(e);return(s.has(a)?"\\":"")+a}function Jr(e){let t=e.map(s=>s.codePointAt(0)).sort((s,a)=>s-a),r=[],n=null;for(let s=0;s";let n="";if(t&&r){let{enable:s,disable:a}=t;n=(s?.ignoreCase?"i":"")+(s?.dotAll?"s":"")+(a?"-":"")+(a?.ignoreCase?"i":"")+(a?.dotAll?"s":"")}return`${n}:`}function en({min:e,max:t,greedy:r,possessive:n}){let s;return!e&&t===1?s="?":!e&&t===1/0?s="*":e===1&&t===1/0?s="+":e===t?s=`{${e}}`:s=`{${e},${t===1/0?"":t}}`,s+(n?"+":r?"":"?")}function tn(e){return e>47&&e<58}function bt({type:e,value:t}){return e===p.Character&&t===45}var oe=class e extends RegExp{#t=new Map;#e=null;#n;#r=null;#s=null;rawOptions={};get source(){return this.#n||"(?:)"}constructor(t,r,n){let s=!!n?.lazyCompile;if(t instanceof RegExp){if(n)throw new Error("Cannot provide options when copying a regexp");let a=t;super(a,r),this.#n=a.source,a instanceof e&&(this.#t=a.#t,this.#r=a.#r,this.#s=a.#s,this.rawOptions=a.rawOptions)}else{let a={hiddenCaptures:[],strategy:null,transfers:[],...n};super(s?"":t,r),this.#n=t,this.#t=nn(a.hiddenCaptures,a.transfers),this.#s=a.strategy,this.rawOptions=n??{}}s||(this.#e=this)}exec(t){if(!this.#e){let{lazyCompile:s,...a}=this.rawOptions;this.#e=new e(this.#n,this.flags,a)}let r=this.global||this.sticky,n=this.lastIndex;if(this.#s==="clip_search"&&r&&n){this.lastIndex=0;let s=this.#a(t.slice(n));return s&&(rn(s,n,t,this.hasIndices),this.lastIndex+=n),s}return this.#a(t)}#a(t){this.#e.lastIndex=this.lastIndex;let r=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!r||!this.#t.size)return r;let n=[...r];r.length=1;let s;this.hasIndices&&(s=[...r.indices],r.indices.length=1);let a=[0];for(let i=1;i{let o=a[i];o&&(a[i]=[o[0]+t,o[1]+t])})}}function nn(e,t){let r=new Map;for(let n of e)r.set(n,{hidden:!0});for(let[n,s]of t)for(let a of s)L(r,a,{}).transferTo=n;return r}function sn(e){let t=/(?\((?:\?<(?![=!])(?[^>]+)>|(?!\?)))|\\?./gsu,r=new Map,n=0,s=0,a;for(;a=t.exec(e);){let{0:i,groups:{capture:o,name:c}}=a;i==="["?n++:n?i==="]"&&n--:o&&(s++,c&&r.set(s,c))}return r}var At=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function xt(e,t){for(let r=0;r=t&&e[r]++}function Et(e,t,r,n){return e.slice(0,t)+n+e.slice(t+r.length)}var _=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function ce(e,t,r,n){let s=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,"gsu"),a=[!1],i=0,o="";for(let c of e.matchAll(s)){let{0:l,groups:{$skip:u}}=c;if(!u&&(!n||n===_.DEFAULT==!i)){r instanceof Function?o+=r(c,{context:i?_.CHAR_CLASS:_.DEFAULT,negated:a[a.length-1]}):o+=r;continue}l[0]==="["?(i++,a.push(l[1]==="^")):l==="]"&&i&&(i--,a.pop()),o+=l}return o}function Re(e,t,r,n){ce(e,t,r,n)}function an(e,t,r=0,n){if(!new RegExp(t,"su").test(e))return null;let s=new RegExp(`${t}|(?<$skip>\\\\?.)`,"gsu");s.lastIndex=r;let a=0,i;for(;i=s.exec(e);){let{0:o,groups:{$skip:c}}=i;if(!c&&(!n||n===_.DEFAULT==!a))return i;o==="["?a++:o==="]"&&a&&a--,s.lastIndex==i.index&&s.lastIndex++}return null}function ue(e,t,r){return!!an(e,t,0,r)}function St(e,t){let r=/\\?./gsu;r.lastIndex=t;let n=e.length,s=0,a=1,i;for(;i=r.exec(e);){let[o]=i;if(o==="[")s++;else if(s)o==="]"&&s--;else if(o==="(")a++;else if(o===")"&&(a--,!a)){n=i.index;break}}return e.slice(t,n)}var Ft=new RegExp(String.raw`(?${At})|(?\((?:\?<[^>]+>)?)|\\?.`,"gsu");function De(e,t){let r=t?.hiddenCaptures??[],n=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:n,hiddenCaptures:r};let s="(?>",a="(?:(?=(",i=[0],o=[],c=0,l=0,u=NaN,f;do{f=!1;let m=0,h=0,C=!1,w;for(Ft.lastIndex=Number.isNaN(u)?0:u+a.length;w=Ft.exec(e);){let{0:y,index:E,groups:{capturingStart:N,noncapturingStart:P}}=w;if(y==="[")m++;else if(m)y==="]"&&m--;else if(y===s&&!C)u=E,C=!0;else if(C&&P)h++;else if(N)C?h++:(c++,i.push(c+l));else if(y===")"&&C){if(!h){l++;let $=c+l;if(e=`${e.slice(0,u)}${a}${e.slice(u+s.length,E)}))<$$${$}>)${e.slice(E+1)}`,f=!0,o.push($),xt(r,$),n.size){let j=new Map;n.forEach((le,z)=>{j.set(z>=$?z+1:z,le.map(K=>K>=$?K+1:K))}),n=j}break}h--}}}while(f);return r.push(...o),e=ce(e,String.raw`\\(?[1-9]\d*)|<\$\$(?\d+)>`,({0:m,groups:{backrefNum:h,wrappedBackrefNum:C}})=>{if(h){let w=+h;if(w>i.length-1)throw new Error(`Backref "${m}" greater than number of captures`);return`\\${i[w]}`}return`\\${C}`},_.DEFAULT),{pattern:e,captureTransfers:n,hiddenCaptures:r}}var _t=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,Ue=new RegExp(String.raw` \\(?: \d+ | c[A-Za-z] | [gk]<[^>]+> | [pPu]\{[^\}]+\} | u[A-Fa-f\d]{4} | x[A-Fa-f\d]{2} ) | \((?: \? (?: [:=!>] | <(?:[=!]|[^>]+>) | [A-Za-z\-]+: | \(DEFINE\) ))? | (?${_t})(?[?+]?)(?[?*+\{]?) | \\?. `.replace(/\s+/g,""),"gsu");function Be(e){if(!new RegExp(`${_t}\\+`).test(e))return{pattern:e};let t=[],r=null,n=null,s="",a=0,i;for(Ue.lastIndex=0;i=Ue.exec(e);){let{0:o,index:c,groups:{qBase:l,qMod:u,invalidQ:f}}=i;if(o==="[")a||(n=c),a++;else if(o==="]")a?a--:n=null;else if(!a)if(u==="+"&&s&&!s.startsWith("(")){if(f)throw new Error(`Invalid quantifier "${o}"`);let m=-1;if(/^\{\d+\}$/.test(l))e=Et(e,c+l.length,u,"");else{if(s===")"||s==="]"){let h=s===")"?r:n;if(h===null)throw new Error(`Invalid unmatched "${s}"`);e=`${e.slice(0,h)}(?>${e.slice(h,c)}${l})${e.slice(c+o.length)}`}else e=`${e.slice(0,c-s.length)}(?>${s}${l})${e.slice(c+o.length)}`;m+=4}Ue.lastIndex+=m}else o[0]==="("?t.push(c):o===")"&&(r=t.length?t.pop():null);s=o}return{pattern:e}}var v=String.raw,on=v`\\g<(?[^>&]+)&R=(?[^>]+)>`,je=v`\(\?R=(?[^\)]+)\)|${on}`,we=v`\(\?<(?![=!])(?[^>]+)>`,Mt=v`${we}|(?\()(?!\?)`,H=new RegExp(v`${we}|${je}|\(\?|\\?.`,"gsu"),Ve="Cannot use multiple overlapping recursions";function Nt(e,t){let{hiddenCaptures:r,mode:n}={hiddenCaptures:[],mode:"plugin",...t},s=t?.captureTransfers??new Map;if(!new RegExp(je,"su").test(e))return{pattern:e,captureTransfers:s,hiddenCaptures:r};if(n==="plugin"&&ue(e,v`\(\?\(DEFINE\)`,_.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");let a=[],i=ue(e,v`\\[1-9]`,_.DEFAULT),o=new Map,c=[],l=!1,u=0,f=0,m;for(H.lastIndex=0;m=H.exec(e);){let{0:h,groups:{captureName:C,rDepth:w,gRNameOrNum:y,gRDepth:E}}=m;if(h==="[")u++;else if(u)h==="]"&&u--;else if(w){if(It(w),l)throw new Error(Ve);if(i)throw new Error(`${n==="external"?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);let N=e.slice(0,m.index),P=e.slice(H.lastIndex);if(ue(P,je,_.DEFAULT))throw new Error(Ve);let $=+w-1;e=$t(N,P,$,!1,r,a,f),s=Gt(s,N,$,a.length,0,f);break}else if(y){It(E);let N=!1;for(let Z of c)if(Z.name===y||Z.num===+y){if(N=!0,Z.hasRecursedWithin)throw new Error(Ve);break}if(!N)throw new Error(v`Recursive \g cannot be used outside the referenced group "${n==="external"?y:v`\g<${y}&R=${E}>`}"`);let P=o.get(y),$=St(e,P);if(i&&ue($,v`${we}|\((?!\?)`,_.DEFAULT))throw new Error(`${n==="external"?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);let j=e.slice(P,m.index),le=$.slice(j.length+h.length),z=a.length,K=+E-1,We=$t(j,le,K,!0,r,a,f);s=Gt(s,j,K,a.length-z,z,f);let Pt=e.slice(0,P),Ot=e.slice(P+$.length);e=`${Pt}${We}${Ot}`,H.lastIndex+=We.length-h.length-j.length-le.length,c.forEach(Z=>Z.hasRecursedWithin=!0),l=!0}else if(C)f++,o.set(String(f),H.lastIndex),o.set(C,H.lastIndex),c.push({num:f,name:C});else if(h[0]==="("){let N=h==="(";N&&(f++,o.set(String(f),H.lastIndex)),c.push(N?{num:f}:{})}else h===")"&&c.pop()}return r.push(...a),{pattern:e,captureTransfers:s,hiddenCaptures:r}}function It(e){let t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function $t(e,t,r,n,s,a,i){let o=new Set;n&&Re(e+t,we,({groups:{captureName:l}})=>{o.add(l)},_.DEFAULT);let c=[r,n?o:null,s,a,i];return`${e}${vt(`(?:${e}`,"forward",...c)}(?:)${vt(`${t})`,"backward",...c)}${t}`}function vt(e,t,r,n,s,a,i){let c=u=>t==="forward"?u+2:r-u+2-1,l="";for(let u=0;u[^>]+)>`,({0:m,groups:{captureName:h,unnamed:C,backref:w}})=>{if(w&&n&&!n.has(w))return m;let y=`_$${f}`;if(C||h){let E=i+a.length+1;return a.push(E),cn(s,E),C?m:`(?<${h}${y}>`}return v`\k<${w}${y}>`},_.DEFAULT)}return l}function cn(e,t){for(let r=0;r=t&&e[r]++}function Gt(e,t,r,n,s,a){if(e.size&&n){let i=0;Re(t,Mt,()=>i++,_.DEFAULT);let o=a-i+s,c=new Map;return e.forEach((l,u)=>{let f=(n-i*r)/r,m=i*r,h=u>o+i?u+n:u,C=[];for(let w of l)if(w<=o)C.push(w);else if(w>o+i+f)C.push(w+n);else if(w<=o+i)for(let y=0;y<=r;y++)C.push(w+i*y);else for(let y=0;y<=r;y++)C.push(w+m+f*y);c.set(h,C)}),c}return e}function un(e,t){let r={flags:t?.flags??"",rules:{captureGroup:!1,singleline:!1,...t?.rules}};return ae(te(e,r.flags,r.rules))}function ln(e,t){let r=Lt(e,t);return r.options?new oe(r.pattern,r.flags,r.options):new RegExp(r.pattern,r.flags)}function Lt(e,t){let r=pe(t),n=te(e,r.flags,{captureGroup:r.rules.captureGroup,singleline:r.rules.singleline}),s=ae(n,{skipBackrefValidation:r.rules.allowOrphanBackrefs,verbose:r.verbose}),a=ut(s,{accuracy:r.accuracy,asciiWordBoundaries:r.rules.asciiWordBoundaries,avoidSubclass:r.avoidSubclass,bestEffortTarget:r.target}),i=kt(a,r),o=Nt(i.pattern,{captureTransfers:i._captureTransfers,hiddenCaptures:i._hiddenCaptures,mode:"external"}),c=Be(o.pattern),l=De(c.pattern,{captureTransfers:o.captureTransfers,hiddenCaptures:o.hiddenCaptures}),u={pattern:l.pattern,flags:`${r.hasIndices?"d":""}${r.global?"g":""}${i.flags}${i.options.disable.v?"u":"v"}`};if(r.avoidSubclass){if(r.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{let f=l.hiddenCaptures.sort((w,y)=>w-y),m=Array.from(l.captureTransfers),h=a._strategy,C=u.pattern.length>=r.lazyCompileLength;(f.length||m.length||h||C)&&(u.options={...f.length&&{hiddenCaptures:f},...m.length&&{transfers:m},...h&&{strategy:h},...C&&{lazyCompile:C}})}return u}return Vt(pn);})(); //# sourceMappingURL=index.min.js.map