Files
JiboViteDocs/node_modules/oniguruma-parser/dist/oniguruma-parser.min.js

905 lines
54 KiB
JavaScript
Raw Normal View History

2026-05-03 12:12:57 -04:00
"use strict";var OnigurumaParser=(()=>{var ne=Object.defineProperty;var nt=Object.getOwnPropertyDescriptor;var at=Object.getOwnPropertyNames;var ot=Object.prototype.hasOwnProperty;var it=(e,t)=>{for(var r in t)ne(e,r,{get:t[r],enumerable:!0})},st=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of at(t))!ot.call(e,o)&&o!==r&&ne(e,o,{get:()=>t[o],enumerable:!(n=nt(t,o))||n.enumerable});return e};var lt=e=>st(ne({},"__esModule",{value:!0}),e);var mr={};it(mr,{OnigUnicodePropertyMap:()=>G,generate:()=>H,getOptionalOptimizations:()=>le,optimize:()=>rt,parse:()=>M,toOnigurumaAst:()=>Ee,traverse:()=>Y});function y(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function pe(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}var U=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),c=String.raw;function m(e,t){if(e==null)throw new Error(t??"Value expected");return e}function H(e){let t=[],r=e,n={inCharClass:!1,lastNode:r,parent:e},o=i=>{n.lastNode=r,r=i,dt(n.lastNode)===i&&(n.parent=n.lastNode,t.push(n.parent));let s=m(ut[i.type],`Unexpected node type "${i.type}"`)(i,n,o);return ft(n.parent)===i&&(t.pop(),n.parent=t.at(-1)??e),s};return{pattern:e.body.map(o).join("|"),flags:o(e.flags)}}var ut={AbsenceFunction({body:e,kind:t},r,n){if(t!=="repeater")throw new Error(`Unexpected absence function kind "${t}"`);return`(?~${e.map(n).join("|")})`},Alternative({body:e},t,r){return e.map(r).join("")},Assertion({kind:e,negate:t}){return e==="text_segment_boundary"?t?c`\Y`:c`\y`:e==="word_boundary"?t?c`\B`:c`\b`:m({line_end:"$",line_start:"^",search_start:c`\G`,string_end:c`\z`,string_end_newline:c`\Z`,string_start:c`\A`}[e],`Unexpected assertion kind "${e}"`)},Backreference({ref:e}){return typeof e=="number"?"\\"+e:`\\k<${e}>`},CapturingGroup({body:e,name:t},r,n){return`(${t?`?${t.includes(">")?`'${t}'`:`<${t}>`}`:""}${e.map(n).join("|")})`},Character(e,{inCharClass:t,lastNode:r,parent:n}){let{value:o}=e;if(ce.has(o))return ce.get(o);let i=r.type==="Backreference";if(o<32||o>126&&o<160||o>262143||i&&_t(o))return o>127?`\\x{${o.toString(16).toUpperCase()}}`:`\\x${o.toString(16).toUpperCase().padStart(2,"0")}`;let a=String.fromCodePoint(o),s=!1;if(t){let l=n.type==="CharacterClass",p=l&&n.body[0]===e,d=l&&n.body.at(-1)===e;a==="^"?s=p&&!n.negate:a==="]"?s=!p:a==="-"?s=!p&&!d:s=ct.has(a)}else s=pt.has(a);return`${s?"\\":""}${a}`},CharacterClass({body:e,kind:t,negate:r},n,o){function i(){return n.parent.type==="CharacterClass"&&n.parent.kind==="intersection"&&t==="union"&&!e.length?"":`[${r?"^":""}${e.map(o).join(t==="intersection"?"&&":"")}]`}if(!n.inCharClass){n.inCharClass=!0;let a=i();return n.inCharClass=!1,a}return i()},CharacterClassRange({min:e,max:t},r,n){return`${n(e)}-${n(t)}`},CharacterSet({kind:e,negate:t,value:r},{inCharClass:n}){switch(e){case"any":return c`\O`;case"digit":return t?c`\D`:c`\d`;case"dot":return".";case"hex":return t?c`\H`:c`\h`;case"newline":return t?c`\N`:c`\R`;case"posix":return n?`[:${t?"^":""}${r}:]`:`${t?c`\P`:c`\p`}{${r}}`;case"property":return`${t?c`\P`:c`\p`}{${r}}`;case"space":return t?c`\S`:c`\s`;case"text_segment":return c`\X`;case"word":return t?c`\W`:c`\w`;default:throw new Error(`Unexpected character set kind "${e}"`)}},Directive({kind:e,flags:t}){if(e==="flags"){let{enable:r={},disable:n={}}=t,o=$(r),i=$(n);return o||i?`(?${o}${i?`-${i}`:""})`:""}if(e==="keep")return c`\K`;throw new Error(`Unexpected directive kind "${e}"`)},Flags(e){return $(e)},Group({atomic:e,body:t,flags:r},n,o){let i=t.map(o).join("|");return`(?${ht(e,r)}${i})`},LookaroundAssertion({body:e,kind:t,negate:r},n,o){return`(?${`${t==="lookahead"?"":"<"}${r?"!":"="}`}${e.map(o).join("|")})`},NamedCallout({kind:e,tag:t,arguments:r}){if(e==="custom")throw new Error(`Unexpected named callout kind "${e}"`);return`(*${e.toUpperCase()}${t?`[${t}]`:""}${r?`{${r.join(",")}}`:""})`},Quantifier(e,{parent:t},r){let{body:n,kind:o,max:i,min:a}=e;if(a===1/0)throw new Error("Invalid quantifier: infinite
\\ (?:
${Ce}
| [gk]<[^>]*>?
| [gk]'[^']*'?
| .
)
| \( (?:
\? (?:
[:=!>({]
| <[=!]
| <[^>]*>
| '[^']*'
| ~\|?
| #(?:[^)\\]|\\.?)*
| [^:)]*[:)]
)?
| \*[^\)]*\)?
)?
| (?:${oe.source})+
| ${ge}
| .
`.replace(/\s+/g,""),"gsu"),ae=new RegExp(c`
\\ (?:
${Ce}
| .
)
| \[:(?:\^?\p{Alpha}+|\^):\]
| ${ge}
| &&
| .
`.replace(/\s+/g,""),"gsu");function be(e,t={}){let r={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");let n=Gt(r.flags),o=[n.extended],i={captureGroup:r.rules.captureGroup,getCurrentModX(){return o.at(-1)},numOpenGroups:0,popModX(){o.pop()},pushModX(u){o.push(u)},replaceCurrentModX(u){o[o.length-1]=u},singleline:r.rules.singleline},a=[],s;for(Q.lastIndex=0;s=Q.exec(e);){let u=mt(i,e,s[0],Q.lastIndex);u.tokens?a.push(...u.tokens):u.token&&a.push(u.token),u.lastIndex!==void 0&&(Q.lastIndex=u.lastIndex)}let l=[],p=0;a.filter(u=>u.type==="GroupOpen").forEach(u=>{u.kind==="capturing"?u.number=++p:u.raw==="("&&l.push(u)}),p||l.forEach((u,h)=>{u.kind="capturing",u.number=h+1});let d=p||l.length;return{tokens:a.map(u=>u.type==="EscapedNumber"?Ft(u,d):u).flat(),flags:n}}function mt(e,t,r,n){let[o,i]=r;if(r==="["||r==="[^"){let a=yt(t,r,n);return{tokens:a.tokens,lastIndex:a.lastIndex}}if(o==="\\"){if("AbBGyYzZ".includes(i))return{token:fe(r,r)};if(/^\\g[<']/.test(r)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:vt(r)}}if(/^\\k[<']/.test(r)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:Ie(r)}}if(i==="K")return{token:ke("keep",r)};if(i==="N"||i==="R")return{token:T("newline",r,{negate:i==="N"})};if(i==="O")return{token:T("any",r)};if(i==="X")return{token:T("text_segment",r)};let a=Ne(r,{inCharClass:!1});return Array.isArray(a)?{tokens:a}:{token:a}}if(o==="("){if(i==="*")return{token:Pt(r)};if(r==="(?{")throw new Error(`Unsupported callout "${r}"`);if(r.startsWith("(?#")){if(t[n]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:n+1}}if(/^\(\?[-imx]+[:)]$/.test(r))return{token:Et(r,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,r==="("&&!e.captureGroup||r==="(?:")return{token:P("group",r)};if(r==="(?>")return{token:P("atomic",r)};if(r==="(?="||r==="(?!"||r==="(?<="||r==="(?<!")return{token:P(r[2]==="<"?"lookbehind":"lookahead",r,{negate:r.endsWith("!")})};if(r==="("&&e.captureGroup||r.startsWith("(?<")&&r.endsWith(">")||r.startsWith("(?'")&&r.endsWith("'"))return{token:P("capturing",r,{...r!=="("&&{name:r.slice(3,-1)}})};if(r.startsWith("(?~")){if(r==="(?~|")throw new Error(`Unsupported absence function kind "${r}"`);return{token:P("absence_repeater",r)}}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:At(r)}}if(e.getCurrentModX()){if(r==="#"){let a=t.indexOf(`
`,n);return{lastIndex:a===-1?t.length:a}}if(/^\s$/.test(r)){let a=/\s+/y;return a.lastIndex=n,{lastIndex:a.exec(t)?a.lastIndex:n}}}if(r===".")return{token:T("dot",r)};if(r==="^"||r==="$"){let a=e.singleline?{"^":c`\A`,$:c`\Z`}[r]:r;return{token:fe(a,r)}}return r==="|"?{token:Ct(r)}:oe.test(r)?{tokens:Ut(r)}:{token:A(y(r),r)}}function yt(e,t,r){let n=[he(t[1]==="^",t)],o=1,i;for(ae.lastIndex=r;i=ae.exec(e);){let a=i[0];if(a[0]==="["&&a[1]!==":")o++,n.push(he(a[1]==="^",a));else if(a==="]"){if(n.at(-1).type==="CharacterClassOpen")n.push(A(93,a));else if(o--,n.push(bt(a)),!o)break}else{let s=gt(a);Array.isArray(s)?n.push(...s):n.push(s)}}return{tokens:n,lastIndex:ae.lastIndex||e.length}}function gt(e){if(e[0]==="\\")return Ne(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!U.has(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return T("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?Nt(e):e==="&&"?It(e):A(y(e),e)}function Ne(e,{inCharClass:t}){let r=e[1];if(r==="c"||r==="C")return Tt(e);if("dDhHsSwW".includes(r))return Ot(e);if(e.startsWith(c`\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 Mt(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let n=e.split(/\\x/).slice(1).map(s=>parseInt(s,16)),o=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(n)),i=new TextEncoder;return[...o].map(s=>{let l=[...i.encode(s)].map(p=>`\\x${p.toString(16)}`).join("");return A(y(s),l)})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(r==="u"||r==="x")return A(Lt(e),e);if(_e.has(r))return A(_e.get(r),e);if(/\d/.test(r))return kt(t,e);if(e==="\\")throw new Error(c`Incomplete escape "\"`);if(r==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return A(e.codePointAt(1),e);throw new Error(`Unexpected escape "${e}"`)}function Ct(e){return{type:"Alternator",raw:e}}function fe(e,t){return{type:"Assertion",kind:e,raw:t}}function Ie(e){return{type:"Backreference",raw:e}}function A(e,t){return{type:"Character",value:e,raw:t}}function bt(e){return{type:"CharacterClassClose",raw:e}}function Nt(e){return{type:"CharacterClassHyphen",raw:e}}function It(e){return{type:"CharacterClassIntersector",raw:e}}function he(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function T(e,t,r={}){return{type:"CharacterSet",kind:e,...r,raw:t}}function ke(e,t,r={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:m(r.flags),raw:t}}function kt(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function At(e){return{type:"GroupClose",raw:e}}function P(e,t,r={}){return{type:"GroupOpen",kind:e,...r,raw:t}}function St(e,t,r,n){return{type:"NamedCallout",kind:e,tag:t,arguments:r,raw:n}}function xt(e,t,r,n){return{type:"Quantifier",kind:e,min:t,max:r,raw:n}}function vt(e){return{type:"Subroutine",raw:e}}var wt=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),_e=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function Tt(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 A(y(t.toUpperCase())-64,e)}function Et(e,t){let{on:r,off:n}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;n??="";let o=(t.getCurrentModX()||r.includes("x"))&&!n.includes("x"),i=ye(r),a=ye(n),s={};if(i&&(s.enable=i),a&&(s.disable=a),e.endsWith(")"))return t.replaceCurrentModX(o),ke("flags",e,{flags:s});if(e.endsWith(":"))return t.pushModX(o),t.numOpenGroups++,P("group",e,{...(i||a)&&{flags:s}});throw new Error(`Unexpected flag modifier "${e}"`)}function Pt(e){let t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw new Error(`Incomplete or invalid named callout "${e}"`);let{name:r,tag:n,args:o}=t.groups;if(!r)throw new Error(`Invalid named callout "${e}"`);if(n==="")throw new Error(`N
Adlam
Ahom
Alphabetic
Anatolian_Hieroglyphs
Any
Arabic
Armenian
Assigned
Avestan
Balinese
Bamum
Bassa_Vah
Batak
Bengali
Bhaiksuki
Bidi_Control
Bopomofo
Brahmi
Braille
Buginese
Buhid
C
Canadian_Aboriginal
Carian
Case_Ignorable
Cased
Caucasian_Albanian
Cc
Cf
Chakma
Cham
Changes_When_Casefolded
Changes_When_Casemapped
Changes_When_Lowercased
Changes_When_Titlecased
Changes_When_Uppercased
Cherokee
Chorasmian
Cn
Co
Common
Coptic
Cs
Cuneiform
Cypriot
Cypro_Minoan
Cyrillic
Dash
Default_Ignorable_Code_Point
Deprecated
Deseret
Devanagari
Diacritic
Dives_Akuru
Dogra
Duployan
Egyptian_Hieroglyphs
Elbasan
Elymaic
Emoji
Emoji_Component
Emoji_Modifier
Emoji_Modifier_Base
Emoji_Presentation
Ethiopic
Extended_Pictographic
Extender
Garay
Georgian
Glagolitic
Gothic
Grantha
Grapheme_Base
Grapheme_Extend
Grapheme_Link
Greek
Gujarati
Gunjala_Gondi
Gurmukhi
Gurung_Khema
Han
Hangul
Hanifi_Rohingya
Hanunoo
Hatran
Hebrew
Hex_Digit
Hiragana
Hyphen
IDS_Binary_Operator
IDS_Trinary_Operator
IDS_Unary_Operator
ID_Compat_Math_Continue
ID_Compat_Math_Start
ID_Continue
ID_Start
Ideographic
Imperial_Aramaic
InCB
Inherited
Inscriptional_Pahlavi
Inscriptional_Parthian
Javanese
Join_Control
Kaithi
Kannada
Katakana
Kawi
Kayah_Li
Kharoshthi
Khitan_Small_Script
Khmer
Khojki
Khudawadi
Kirat_Rai
L
LC
Lao
Latin
Lepcha
Limbu
Linear_A
Linear_B
Lisu
Ll
Lm
Lo
Logical_Order_Exception
Lowercase
Lt
Lu
Lycian
Lydian
M
Mahajani
Makasar
Malayalam
Mandaic
Manichaean
Marchen
Masaram_Gondi
Math
Mc
Me
Medefaidrin
Meetei_Mayek
Mende_Kikakui
Meroitic_Cursive
Meroitic_Hieroglyphs
Miao
Mn
Modi
Modifier_Combining_Mark
Mongolian
Mro
Multani
Myanmar
N
Nabataean
Nag_Mundari
Nandinagari
Nd
New_Tai_Lue
Newa
Nko
Nl
No
Noncharacter_Code_Point
Nushu
Nyiakeng_Puachue_Hmong
Ogham
Ol_Chiki
Ol_Onal
Old_Hungarian
Old_Italic
Old_North_Arabian
Old_Permic
Old_Persian
Old_Sogdian
Old_South_Arabian
Old_Turkic
Old_Uyghur
Oriya
Osage
Osmanya
Other_Alphabetic
Other_Default_Ignorable_Code_Point
Other_Grapheme_Extend
Other_ID_Continue
Other_ID_Start
Other_Lowercase
Other_Math
Other_Uppercase
P
Pahawh_Hmong
Palmyrene
Pattern_Syntax
Pattern_White_Space
Pau_Cin_Hau
Pc
Pd
Pe
Pf
Phags_Pa
Phoenician
Pi
Po
Prepended_Concatenation_Mark
Ps
Psalter_Pahlavi
Quotation_Mark
Radical
Regional_Indicator
Rejang
Runic
S
Samaritan
Saurashtra
Sc
Sentence_Terminal
Sharada
Shavian
Siddham
SignWriting
Sinhala
Sk
Sm
So
Soft_Dotted
Sogdian
Sora_Sompeng
Soyombo
Sundanese
Sunuwar
Syloti_Nagri
Syriac
Tagalog
Tagbanwa
Tai_Le
Tai_Tham
Tai_Viet
Takri
Tamil
Tangsa
Tangut
Telugu
Terminal_Punctuation
Thaana
Thai
Tibetan
Tifinagh
Tirhuta
Todhri
Toto
Tulu_Tigalari
Ugaritic
Unified_Ideograph
Unknown
Uppercase
Vai
Variation_Selector
Vithkuqi
Wancho
Warang_Citi
White_Space
XID_Continue
XID_Start
Yezidi
Yi
Z
Zanabazar_Square
Zl
Zp
Zs
Adlm
Aghb
AHex
Arab
Armi
Armn
Avst
Bali
Bamu
Bass
Batk
Beng
Bhks
Bidi_C
Bopo
Brah
Brai
Bugi
Buhd
Cakm
Cans
Cari
Cased_Letter
Cher
Chrs
CI
Close_Punctuation
Combining_Mark
Connector_Punctuation
Control
Copt
Cpmn
Cprt
Currency_Symbol
CWCF
CWCM
CWL
CWT
CWU
Cyrl
Dash_Punctuation
Decimal_Number
Dep
Deva
DI
Dia
Diak
Dogr
Dsrt
Dupl
EBase
EComp
Egyp
Elba
Elym
EMod
Enclosing_Mark
EPres
Ethi
Ext
ExtPict
Final_Punctuation
Format
Gara
Geor
Glag
Gong
Gonm
Goth
Gran
Gr_Base
Grek
Gr_Ext
Gr_Link
Gujr
Gukh
Guru
Hang
Hani
Hano
Hatr
Hebr
Hex
Hira
Hluw
Hmng
Hmnp
Hung
IDC
Ideo
IDS
IDSB
IDST
IDSU
Initial_Punctuation
Ital
Java
Join_C
Kali
Kana
Khar
Khmr
Khoj
Kits
Knda
Krai
Kthi
Lana
Laoo
Latn
Lepc
Letter
Letter_Number
Limb
Lina
Linb
Line_Separator
LOE
Lowercase_Letter
Lyci
Lydi
Mahj
Maka
Mand
Mani
Marc
Mark
Math_Symbol
MCM
Medf
Mend
Merc
Mero
Mlym
Modifier_Letter
Modifier_Symbol
Mong
Mroo
Mtei
Mult
Mymr
Nagm
Nand
Narb
Nbat
NChar
Nkoo
Nonspacing_Mark
Nshu
Number
OAlpha
ODI
Ogam
OGr_Ext
OIDC
OIDS
Olck
OLower
OMath
Onao
Open_Punctuation
Orkh
Orya
Osge
Osma
Other
Other_Letter
Other_Number
Other_Punctuation
Other_Symbol
Ougr
OUpper
Palm
Paragraph_Separator
Pat_Syn
Pat_WS
Pauc
PCM
Perm
Phag
Phli
Phlp
Phnx
Plrd
Private_Use
Prti
punct
Punctuation
Qaac
Qaai
QMark
RI
Rjng
Rohg
Runr
Samr
Sarb
Saur
SD
Separator
Sgnw
Shaw
Shrd
Sidd
Sind
Sinh
Sogd
Sogo
Sora
Soyo
Space_Separator
Spacing_Mark
STerm
Sund
Sunu
Surrogate
Sylo
Symbol
Syrc
Tagb
Takr
Tale
Talu
Taml
Tang
Tavt
Telu
Term
Tfng
Tglg
Thaa
Tibt
Tirh
Titlecase_Letter
Tnsa
Todr
Tutg
Ugar
UIdeo
Unassigned
Uppercase_Letter
Vaii
Vith
VS
Wara
Wcho
WSpace
XIDC
XIDS
Xpeo
Xsux
Yezi
Yiii
Zanb
Zinh
Zyyy
Zzzz
In_Basic_Latin
In_Latin_1_Supplement
In_Latin_Extended_A
In_Latin_Extended_B
In_IPA_Extensions
In_Spacing_Modifier_Letters
In_Combining_Diacritical_Marks
In_Greek_and_Coptic
In_Cyrillic
In_Cyrillic_Supplement
In_Armenian
In_Hebrew
In_Arabic
In_Syriac
In_Arabic_Supplement
In_Thaana
In_NKo
In_Samaritan
In_Mandaic
In_Syriac_Supplement
In_Arabic_Extended_B
In_Arabic_Extended_A
In_Devanagari
In_Bengali
In_Gurmukhi
In_Gujarati
In_Oriya
In_Tamil
In_Telugu
In_Kannada
In_Malayalam
In_Sinhala
In_Thai
In_Lao
In_Tibetan
In_Myanmar
In_Georgian
In_Hangul_Jamo
In_Ethiopic
In_Ethiopic_Supplement
In_Cherokee
In_Unified_Canadian_Aboriginal_Syllabics
In_Ogham
In_Runic
In_Tagalog
In_Hanunoo
In_Buhid
In_Tagbanwa
In_Khmer
In_Mongolian
In_Unified_Canadian_Aboriginal_Syllabics_Extended
In_Limbu
In_Tai_Le
In_New_Tai_Lue
In_Khmer_Symbols
In_Buginese
In_Tai_Tham
In_Combining_Diacritical_Marks_Extended
In_Balinese
In_Sundanese
In_Batak
In_Lepcha
In_Ol_Chiki
In_Cyrillic_Extended_C
In_Georgian_Extended
In_Sundanese_Supplement
In_Vedic_Extensions
In_Phonetic_Extensions
In_Phonetic_Extensions_Supplement
In_Combining_Diacritical_Marks_Supplement
In_Latin_Extended_Additional
In_Greek_Extended
In_General_Punctuation
In_Superscripts_and_Subscripts
In_Currency_Symbols
In_Combining_Diacritical_Marks_for_Symbols
In_Letterlike_Symbols
In_Number_Forms
In_Arrows
In_Mathematical_Operators
In_Miscellaneous_Technical
In_Control_Pictures
In_Optical_Character_Recognition
In_Enclosed_Alphanumerics
In_Box_Drawing
In_Block_Elements
In_Geometric_Shapes
In_Miscellaneous_Symbols
In_Dingbats
In_Miscellaneous_Mathematical_Symbols_A
In_Supplemental_Arrows_A
In_Braille_Patterns
In_Supplemental_Arrows_B
In_Miscellaneous_Mathematical_Symbols_B
In_Supplemental_Mathematical_Operators
In_Miscellaneous_Symbols_and_Arrows
In_Glagolitic
In_Latin_Extended_C
In_Coptic
In_Georgian_Supplement
In_Tifinagh
In_Ethiopic_Extended
In_Cyrillic_Extended_A
In_Supplemental_Punctuation
In_CJK_Radicals_Supplement
In_Kangxi_Radicals
In_Ideographic_Description_Characters
In_CJK_Symbols_and_Punctuation
In_Hiragana
In_Katakana
In_Bopomofo
In_Hangul_Compatibility_Jamo
In_Kanbun
In_Bopomofo_Extended
In_CJK_Strokes
In_Katakana_Phonetic_Extensions
In_Enclosed_CJK_Letters_and_Months
In_CJK_Compatibility
In_CJK_Unified_Ideographs_Extension_A
In_Yijing_Hexagram_Symbols
In_CJK_Unified_Ideographs
In_Yi_Syllables
In_Yi_Radicals
In_Lisu
In_Vai
In_Cyrillic_Extended_B
In_Bamum
In_Modifier_Tone_Letters
In_Latin_Extended_D
In_Syloti_Nagri
In_Common_Indic_Number_Forms
In_Phags_pa
In_Saurashtra
In_Devanagari_Extended
In_Kayah_Li
In_Rejang
In_Hangul_Jamo_Extended_A
In_Javanese
In_Myanmar_Extended_B
In_Cham
In_Myanmar_Extended_A
In_Tai_Viet
In_Meetei_Mayek_Extensions
In_Ethiopic_Extended_A
In_Latin_Extended_E
In_Cherokee_Supplement
In_Meetei_Mayek
In_Hangul_Syllables
In_Hangul_Jamo_Extended_B
In_High_Surrogates
In_High_Private_Use_Surrogates
In_Low_Surrogates
In_Private_Use_Area
In_CJK_Compatibility_Ideographs
In_Alphabetic_Presentation_Forms
In_Arabic_Presentation_Forms_A
In_Variation_Selectors
In_Vertical_Forms
In_Combining_Half_Marks
In_CJK_Compatibility_Forms
In_Small_Form_Variants
In_Arabic_Presentation_Forms_B
In_Halfwidth_and_Fullwidth_Forms
In_Specials
In_Linear_B_Syllabary
In_Linear_B_Ideograms
In_Aegean_Numbers
In_Ancient_Greek_Numbers
In_Ancient_Symbols
In_Phaistos_Disc
In_Lycian
In_Carian
In_Coptic_Epact_Numbers
In_Old_Italic
In_Gothic
In_Old_Permic
In_Ugaritic
In_Old_Persian
In_Deseret
In_Shavian
In_Osmanya
In_Osage
In_Elbasan
In_Caucasian_Albanian
In_Vithkuqi
In_Todhri
In_Linear_A
In_Latin_Extended_F
In_Cypriot_Syllabary
In_Imperial_Aramaic
In_Palmyrene
In_Nabataean
In_Hatran
In_Phoenician
In_Lydian
In_Meroitic_Hieroglyphs
In_Meroitic_Cursive
In_Kharoshthi
In_Old_South_Arabian
In_Old_North_Arabian
In_Manichaean
In_Avestan
In_Inscriptional_Parthian
In_Inscriptional_Pahlavi
In_Psalter_Pahlavi
In_Old_Turkic
In_Old_Hungarian
In_Hanifi_Rohingya
In_Garay
In_Rumi_Numeral_Symbols
In_Yezidi
In_Arabic_Extended_C
In_Old_Sogdian
In_Sogdian
In_Old_Uyghur
In_Chorasmian
In_Elymaic
In_Brahmi
In_Kaithi
In_Sora_Sompeng
In_Chakma
In_Mahajani
In_Sharada
In_Sinhala_Archaic_Numbers
In_Khojki
In_Multani
In_Khudawadi
In_Grantha
In_Tulu_Tigalari
In_Newa
In_Tirhuta
In_Siddham
In_Modi
In_Mongolian_Supplement
In_Takri
In_Myanmar_Extended_C
In_Ahom
In_Dogra
In_Warang_Citi
In_Dives_Akuru
In_Nandinagari
In_Zanabazar_Square
In_Soyombo
In_Unified_Canadian_Aboriginal_Syllabics_Extended_A
In_Pau_Cin_Hau
In_Devanagari_Extended_A
In_Sunuwar
In_Bhaiksuki
In_Marchen
In_Masaram_Gondi
In_Gunjala_Gondi
In_Makasar
In_Kawi
In_Lisu_Supplement
In_Tamil_Supplement
In_Cuneiform
In_Cuneiform_Numbers_and_Punctuation
In_Early_Dynastic_Cuneiform
In_Cypro_Minoan
In_Egyptian_Hieroglyphs
In_Egyptian_Hieroglyph_Format_Controls
In_Egyptian_Hieroglyphs_Extended_A
In_Anatolian_Hieroglyphs
In_Gurung_Khema
In_Bamum_Supplement
In_Mro
In_Tangsa
In_Bassa_Vah
In_Pahawh_Hmong
In_Kirat_Rai
In_Medefaidrin
In_Miao
In_Ideographic_Symbols_and_Punctuation
In_Tangut
In_Tangut_Components
In_Khitan_Small_Script
In_Tangut_Supplement
In_Kana_Extended_B
In_Kana_Supplement
In_Kana_Extended_A
In_Small_Kana_Extension
In_Nushu
In_Duployan
In_Shorthand_Format_Controls
In_Symbols_for_Legacy_Computing_Supplement
In_Znamenny_Musical_Notation
In_Byzantine_Musical_Symbols
In_Musical_Symbols
In_Ancient_Greek_Musical_Notation
In_Kaktovik_Numerals
In_Mayan_Numerals
In_Tai_Xuan_Jing_Symbols
In_Counting_Rod_Numerals
In_Mathematical_Alphanumeric_Symbols
In_Sutton_SignWriting
In_Latin_Extended_G
In_Glagolitic_Supplement
In_Cyrillic_Extended_D
In_Nyiakeng_Puachue_Hmong
In_Toto
In_Wancho
In_Nag_Mundari
In_Ol_Onal
In_Ethiopic_Extended_B
In_Mende_Kikakui
In_Adlam
In_Indic_Siyaq_Numbers
In_Ottoman_Siyaq_Numbers
In_Arabic_Mathematical_Alphabetic_Symbols
In_Mahjong_Tiles
In_Domino_Tiles
In_Playing_Cards
In_Enclosed_Alphanumeric_Supplement
In_Enclosed_Ideographic_Supplement
In_Miscellaneous_Symbols_and_Pictographs
In_Emoticons
In_Ornamental_Dingbats
In_Transport_and_Map_Symbols
In_Alchemical_Symbols
In_Geometric_Shapes_Extended
In_Supplemental_Arrows_C
In_Supplemental_Symbols_and_Pictographs
In_Chess_Symbols
In_Symbols_and_Pictographs_Extended_A
In_Symbols_for_Legacy_Computing
In_CJK_Unified_Ideographs_Extension_B
In_CJK_Unified_Ideographs_Extension_C
In_CJK_Unified_Ideographs_Extension_D
In_CJK_Unified_Ideographs_Extension_E
In_CJK_Unified_Ideographs_Extension_F
In_CJK_Unified_Ideographs_Extension_I
In_CJK_Compatibility_Ideographs_Supplement
In_CJK_Unified_Ideographs_Extension_G
In_CJK_Unified_Ideographs_Extension_H
In_Tags
In_Variation_Selectors_Supplement
In_Supplementary_Private_Use_Area_A
In_Supplementary_Private_Use_Area_B
In_No_Block`.split(/\s/).map(e=>[Z(e),e]));function Ee(e,t={}){if({}.toString.call(t)!=="[object Object]")throw new Error("Unexpected options");return M(e,{flags:t.flags??"",rules:{captureGroup:t.rules?.captureGroup??!1,singleline:t.rules?.singleline??!1},unicodePropertyMap:G})}function Y(e,t,r=null){function n(i,a){for(let s=0;s<i.length;s++){let l=o(i[s],a,s,i);s=Math.max(-1,s+l)}}function o(i,a=null,s=null,l=null){let p=0,d=!1,_={node:i,parent:a,key:s,container:l,root:e,remove(){q(l).splice(Math.max(0,L(s)+p),1),p--,d=!0},removeAllNextSiblings(){return q(l).splice(L(s)+1)},removeAllPrevSiblings(){let g=L(s)+p;return p-=g,q(l).splice(0,Math.max(0,g))},replaceWith(g,F={}){let re=!!F.traverse;l?l[Math.max(0,L(s)+p)]=g:m(a,"Can't replace root node")[s]=g,re&&o(g,a,s,l),d=!0},replaceWithMultiple(g,F={}){let re=!!F.traverse;if(q(l).splice(Math.max(0,L(s)+p),1,...g),p+=g.length-1,re){let ue=0;for(let z=0;z<g.length;z++)ue+=o(g[z],a,L(s)+z+ue,l)}d=!0},skip(){d=!0}},{type:u}=i,h=t["*"],f=t[u],C=typeof h=="function"?h:h?.enter,j=typeof f=="function"?f:f?.enter;if(C?.(_,r),j?.(_,r),!d)switch(u){case"AbsenceFunction":case"Alternative":case"CapturingGroup":case"CharacterClass":case"Group":case"LookaroundAssertion":n(i.body,i);break;case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"Directive":case"Flags":case"NamedCallout":case"Subroutine":break;case"CharacterClassRange":o(i.min,i,"min"),o(i.max,i,"max");break;case"Quantifier":o(i.body,i,"body");break;case"Regex":n(i.body,i),o(i.flags,i,"flags");break;default:throw new Error(`Unexpected node type "${u}"`)}return f?.exit?.(_,r),h?.exit?.(_,r),p}return o(e),e}function q(e){if(!Array.isArray(e))throw new Error("Container expected");return e}function L(e){if(typeof e!="number")throw new Error("Numeric key expected");return e}var Oe={"*"({node:e}){if(!b(e)||e.body.length<2)return;let t=[],r=[];for(let n of e.body){let o=n.body[0];n.body.length===1&&(o.type==="Character"||o.type==="CharacterClass"||o.type==="CharacterSet"&&ir.has(o.kind))?r.push(o):(r.length&&(t.push(Pe(r)),r=[]),t.push(n))}r.length&&t.push(Pe(r)),e.body=t}};function Pe(e){let t=N(),r=e.length>1?D({body:e}):e[0];return r&&t.body.push(r),t}var ir=new Set(["digit","hex","posix","property","space","word"]);var Me={CapturingGroup({node:e,parent:t,replaceWithMultiple:r}){if(t.type==="Quantifier"||e.body.length>1||e.isSubroutined)return;let n=e.body[0],o=n.body,i=o[0],a=o.length>1?o.at(-1):null,s=i&&i.type==="Assertion",l=a&&a.type==="Assertion",p=s?1:0,d=o.length-(l?1:0);if(s||l){n.body=o.slice(p,d);let _=[];s&&_.push(i),_.push(e),l&&_.push(a),r(_,{traverse:!0})}}};var Ge={"*"({node:e}){if(!b(e)||e.body.length<2)return;let t=[],r=!1,n=0;for(;!r;){t.push(e.body[0].body[n]);for(let a of e.body){let s=a.body[n];if(!s||!x(s)||!v(s,t[n])){r=!0;break}}n++}if(t.pop(),!t.length)return;for(let a of e.body)a.body=a.body.slice(t.length);let o=N({body:t}),i=S({body:e.body});i.body.every(a=>!a.body.length)||o.body.push(i),e.body=[o]}};function x(e){return e.type==="Assertion"||e.type==="Character"||e.type==="CharacterSet"}function v(e,t){if(e.type!==t.type)return!1;if(e.type==="Assertion"||e.type==="CharacterSet")return e.kind===t.kind&&e.negate===t.negate;if(e.type==="Character")return e.value===t.value;throw new Error(`Unexpected node type "${e.type}"`)}var Le={"*"({node:e}){if(!b(e))return;let t=2,r=e.body.length;if(r<t*2||r%t)return;let n=[...e.body.slice(0,t).map(h=>h.body)],o=Array.from({length:t},()=>[]),i=Array(t).fill(!1),a=Math.max(...n.map(h=>h.length));for(let h=0;h<a;h++)for(let f=0;f<t;f++)if(!i[f]){let C=n[f][h];!C||!x(C)||!sr(C,e.body,f,h,t)?i[f]=!0:o[f].push(C)}if(!o.some(h=>h.length))return;let s=[],l=0;for(let h=0;h<r;h++)s.push(N({body:e.body[h].body.slice(o[l].length)})),l=l<t-1?l+1:0;for(let h=0;h<r/t;h++){let f=s.slice(h*t,h*t+t);for(let C=1;C<f.length;C++){let j=f[C].body;if(j.length!==f[0].body.length||!j.every((g,F)=>x(g)&&v(g,f[0].body[F])))return}}let p=[];for(let h=0;h<t;h++)p.push(N({body:o[h]}));let d=S({body:p}),_=N({body:[d]}),u=S({body:s.filter((h,f)=>f%t)});u.body.every(h=>!h.b
//# sourceMappingURL=oniguruma-parser.min.js.map