@speclynx/apidom-json-pointer-relative 2.0.1 → 2.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.apidomJsonPointerRelative=t():e.apidomJsonPointerRelative=t()}(self,()=>(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{CompilationRelativeJsonPointerError:()=>l,EvaluationRelativeJsonPointerError:()=>u,InvalidRelativeJsonPointerError:()=>c,RelativeJsonPointerError:()=>i,compile:()=>W,evaluate:()=>mn,isRelativeJsonPointer:()=>G,parse:()=>q});class n extends AggregateError{constructor(e,t,n){super(e,t,n),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const r=n;class s extends Error{static[Symbol.hasInstance](e){return super[Symbol.hasInstance](e)||Function.prototype[Symbol.hasInstance].call(r,e)}constructor(e,t){super(e,t),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const o=s;const a=class extends o{constructor(e,t){if(super(e,t),null!=t&&"object"==typeof t){const{cause:e,...n}=t;Object.assign(this,n)}}};const i=class extends a{};class c extends i{relativePointer;constructor(e,t){super(e,t),void 0!==t&&(this.relativePointer=t.relativePointer)}}const u=class extends i{relativePointer;currentElement;rootElement;cursorElement;constructor(e,t){super(e,t),void 0!==t&&(this.relativePointer=t.relativePointer,this.currentElement=t.currentElement,this.rootElement=t.rootElement,this.cursorElement=t.cursorElement)}};const l=class extends i{nonNegativeIntegerPrefix;indexManipulation;jsonPointerTokens;hashCharacter;constructor(e,t){super(e,t),void 0!==t&&(this.nonNegativeIntegerPrefix=t.relativePointer.nonNegativeIntegerPrefix,this.indexManipulation=t.relativePointer.indexManipulation,this.hashCharacter=t.relativePointer.hashCharacter,Array.isArray(t.relativePointer.jsonPointerTokens)&&(this.jsonPointerTokens=[...t.relativePointer.jsonPointerTokens]))}},h=function(){const e=y,t=m,n=this,r="parser.js: Parser(): ";n.ast=void 0,n.stats=void 0,n.trace=void 0,n.callbacks=[];let s,o,a,i,c,u,l,h=0,f=0,p=0,d=0,g=0,v=new function(){this.state=e.ACTIVE,this.phraseLength=0,this.refresh=()=>{this.state=e.ACTIVE,this.phraseLength=0}};n.parse=(m,y,b,w)=>{const k=`${r}parse(): `;h=0,f=0,p=0,d=0,g=0,s=void 0,o=void 0,a=void 0,i=void 0,v.refresh(),c=void 0,u=void 0,l=void 0,i=t.stringToChars(b),s=m.rules,o=m.udts;const x=y.toLowerCase();let E;for(const e in s)if(s.hasOwnProperty(e)&&x===s[e].lower){E=s[e].index;break}if(void 0===E)throw new Error(`${k}start rule name '${startRule}' not recognized`);(()=>{const e=`${r}initializeCallbacks(): `;let t,a;for(c=[],u=[],t=0;t<s.length;t+=1)c[t]=void 0;for(t=0;t<o.length;t+=1)u[t]=void 0;const i=[];for(t=0;t<s.length;t+=1)i.push(s[t].lower);for(t=0;t<o.length;t+=1)i.push(o[t].lower);for(const r in n.callbacks)if(n.callbacks.hasOwnProperty(r)){if(t=i.indexOf(r.toLowerCase()),t<0)throw new Error(`${e}syntax callback '${r}' not a rule or udt name`);if(a=n.callbacks[r]?n.callbacks[r]:void 0,"function"!=typeof a&&void 0!==a)throw new Error(`${e}syntax callback[${r}] must be function reference or falsy)`);t<s.length?c[t]=a:u[t-s.length]=a}})(),n.trace&&n.trace.init(s,o,i),n.stats&&n.stats.init(s,o),n.ast&&n.ast.init(s,o,i),l=w,a=[{type:e.RNM,index:E}],T(0,0),a=void 0;let A=!1;switch(v.state){case e.ACTIVE:throw new Error(`${k}final state should never be 'ACTIVE'`);case e.NOMATCH:A=!1;break;case e.EMPTY:case e.MATCH:A=v.phraseLength===i.length;break;default:throw new Error("unrecognized state")}return{success:A,state:v.state,stateName:e.idName(v.state),length:i.length,matched:v.phraseLength,maxMatched:g,maxTreeDepth:p,nodeHits:d}};const b=(t,n,s,o)=>{if(n.phraseLength>s){let e=`${r}opRNM(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${n.phraseLength}`,e+=` must be <= remaining chars: ${s}`,new Error(e)}switch(n.state){case e.ACTIVE:if(!o)throw new Error(`${r}opRNM(${t.name}): callback function return error. ACTIVE state not allowed.`);break;case e.EMPTY:n.phraseLength=0;break;case e.MATCH:0===n.phraseLength&&(n.state=e.EMPTY);break;case e.NOMATCH:n.phraseLength=0;break;default:throw new Error(`${r}opRNM(${t.name}): callback function return error. Unrecognized return state: ${n.state}`)}},w=(t,c)=>{let f,p,d;const m=a[t],y=o[m.index];v.UdtIndex=y.index,h||(d=n.ast&&n.ast.udtDefined(m.index),d&&(p=s.length+m.index,f=n.ast.getLength(),n.ast.down(p,y.name)));const g=i.length-c;u[m.index](v,i,c,l),((t,n,s)=>{if(n.phraseLength>s){let e=`${r}opUDT(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${n.phraseLength}`,e+=` must be <= remaining chars: ${s}`,new Error(e)}switch(n.state){case e.ACTIVE:throw new Error(`${r}opUDT(${t.name}) ACTIVE state return not allowed.`);case e.EMPTY:if(!t.empty)throw new Error(`${r}opUDT(${t.name}) may not return EMPTY.`);n.phraseLength=0;break;case e.MATCH:if(0===n.phraseLength){if(!t.empty)throw new Error(`${r}opUDT(${t.name}) may not return EMPTY.`);n.state=e.EMPTY}break;case e.NOMATCH:n.phraseLength=0;break;default:throw new Error(`${r}opUDT(${t.name}): callback function return error. Unrecognized return state: ${n.state}`)}})(y,v,g),h||d&&(v.state===e.NOMATCH?n.ast.setLength(f):n.ast.up(p,y.name,c,v.phraseLength))},T=(t,o)=>{const u=`${r}opExecute(): `,m=a[t];switch(d+=1,f>p&&(p=f),f+=1,v.refresh(),n.trace&&n.trace.down(m,o),m.type){case e.ALT:((t,n)=>{const r=a[t];for(let t=0;t<r.children.length&&(T(r.children[t],n),v.state===e.NOMATCH);t+=1);})(t,o);break;case e.CAT:((t,r)=>{let s,o,i,c;const u=a[t];n.ast&&(o=n.ast.getLength()),s=!0,i=r,c=0;for(let t=0;t<u.children.length;t+=1){if(T(u.children[t],i),v.state===e.NOMATCH){s=!1;break}i+=v.phraseLength,c+=v.phraseLength}s?(v.state=0===c?e.EMPTY:e.MATCH,v.phraseLength=c):(v.state=e.NOMATCH,v.phraseLength=0,n.ast&&n.ast.setLength(o))})(t,o);break;case e.REP:((t,r)=>{let s,o,c,u;const l=a[t];if(0===l.max)return v.state=e.EMPTY,void(v.phraseLength=0);for(o=r,c=0,u=0,n.ast&&(s=n.ast.getLength());!(o>=i.length)&&(T(t+1,o),v.state!==e.NOMATCH)&&v.state!==e.EMPTY&&(u+=1,c+=v.phraseLength,o+=v.phraseLength,u!==l.max););v.state===e.EMPTY||u>=l.min?(v.state=0===c?e.EMPTY:e.MATCH,v.phraseLength=c):(v.state=e.NOMATCH,v.phraseLength=0,n.ast&&n.ast.setLength(s))})(t,o);break;case e.RNM:((t,r)=>{let o,u,f;const p=a[t],d=s[p.index],m=c[d.index];if(h||(u=n.ast&&n.ast.ruleDefined(p.index),u&&(o=n.ast.getLength(),n.ast.down(p.index,s[p.index].name))),m){const t=i.length-r;m(v,i,r,l),b(d,v,t,!0),v.state===e.ACTIVE&&(f=a,a=d.opcodes,T(0,r),a=f,m(v,i,r,l),b(d,v,t,!1))}else f=a,a=d.opcodes,T(0,r,v),a=f;h||u&&(v.state===e.NOMATCH?n.ast.setLength(o):n.ast.up(p.index,d.name,r,v.phraseLength))})(t,o);break;case e.TRG:((t,n)=>{const r=a[t];v.state=e.NOMATCH,n<i.length&&r.min<=i[n]&&i[n]<=r.max&&(v.state=e.MATCH,v.phraseLength=1)})(t,o);break;case e.TBS:((t,n)=>{const r=a[t],s=r.string.length;if(v.state=e.NOMATCH,n+s<=i.length){for(let e=0;e<s;e+=1)if(i[n+e]!==r.string[e])return;v.state=e.MATCH,v.phraseLength=s}})(t,o);break;case e.TLS:((t,n)=>{let r;const s=a[t];v.state=e.NOMATCH;const o=s.string.length;if(0!==o){if(n+o<=i.length){for(let e=0;e<o;e+=1)if(r=i[n+e],r>=65&&r<=90&&(r+=32),r!==s.string[e])return;v.state=e.MATCH,v.phraseLength=o}}else v.state=e.EMPTY})(t,o);break;case e.UDT:w(t,o);break;case e.AND:((t,n)=>{switch(h+=1,T(t+1,n),h-=1,v.phraseLength=0,v.state){case e.EMPTY:case e.MATCH:v.state=e.EMPTY;break;case e.NOMATCH:v.state=e.NOMATCH;break;default:throw new Error(`opAND: invalid state ${v.state}`)}})(t,o);break;case e.NOT:((t,n)=>{switch(h+=1,T(t+1,n),h-=1,v.phraseLength=0,v.state){case e.EMPTY:case e.MATCH:v.state=e.NOMATCH;break;case e.NOMATCH:v.state=e.EMPTY;break;default:throw new Error(`opNOT: invalid state ${v.state}`)}})(t,o);break;default:throw new Error(`${u}unrecognized operator`)}h||o+v.phraseLength>g&&(g=o+v.phraseLength),n.stats&&n.stats.collect(m,v),n.trace&&n.trace.up(m,v.state,o,v.phraseLength),f-=1}},f=function(){const e=y,t=m,n=this;let r,s,o,a=0;const i=[],c=[],u=[];function l(e){let t="";for(;e-- >0;)t+=" ";return t}n.callbacks=[],n.init=(e,t,l)=>{let h;c.length=0,u.length=0,a=0,r=e,s=t,o=l;const f=[];for(h=0;h<r.length;h+=1)f.push(r[h].lower);for(h=0;h<s.length;h+=1)f.push(s[h].lower);for(a=r.length+s.length,h=0;h<a;h+=1)i[h]=void 0;for(const e in n.callbacks)if(n.callbacks.hasOwnProperty(e)){const t=e.toLowerCase();if(h=f.indexOf(t),h<0)throw new Error(`parser.js: Ast()): init: node '${e}' not a rule or udt name`);i[h]=n.callbacks[e]}},n.ruleDefined=e=>!!i[e],n.udtDefined=e=>!!i[r.length+e],n.down=(t,n)=>{const r=u.length;return c.push(r),u.push({name:n,thisIndex:r,thatIndex:void 0,state:e.SEM_PRE,callbackIndex:t,phraseIndex:void 0,phraseLength:void 0,stack:c.length}),r},n.up=(t,n,r,s)=>{const o=u.length,a=c.pop();return u.push({name:n,thisIndex:o,thatIndex:a,state:e.SEM_POST,callbackIndex:t,phraseIndex:r,phraseLength:s,stack:c.length}),u[a].thatIndex=o,u[a].phraseIndex=r,u[a].phraseLength=s,o},n.translate=t=>{let n,r;for(let s=0;s<u.length;s+=1)r=u[s],n=i[r.callbackIndex],n&&(r.state===e.SEM_PRE?n(e.SEM_PRE,o,r.phraseIndex,r.phraseLength,t):n&&n(e.SEM_POST,o,r.phraseIndex,r.phraseLength,t))},n.setLength=e=>{u.length=e,c.length=e>0?u[e-1].stack:0},n.getLength=()=>u.length,n.toXml=()=>{let n="",r=0;return n+='<?xml version="1.0" encoding="utf-8"?>\n',n+=`<root nodes="${u.length/2}" characters="${o.length}">\n`,n+="\x3c!-- input string --\x3e\n",n+=l(r+2),n+=t.charsToString(o),n+="\n",u.forEach(s=>{s.state===e.SEM_PRE?(r+=1,n+=l(r),n+=`<node name="${s.name}" index="${s.phraseIndex}" length="${s.phraseLength}">\n`,n+=l(r+2),n+=t.charsToString(o,s.phraseIndex,s.phraseLength),n+="\n"):(n+=l(r),n+=`</node>\x3c!-- name="${s.name}" --\x3e\n`,r-=1)}),n+="</root>\n",n}},p=function(){const e=y,t=m,n="parser.js: Trace(): ";let r,s,o,a="",i=0;const c=this,u=e=>{let t="",n=0;if(e>=0)for(;e--;)n+=1,5===n?(t+="|",n=0):t+=".";return t};c.init=(e,t,n)=>{s=e,o=t,r=n};const l=r=>{let a;switch(r.type){case e.ALT:a="ALT";break;case e.CAT:a="CAT";break;case e.REP:a=r.max===1/0?`REP(${r.min},inf)`:`REP(${r.min},${r.max})`;break;case e.RNM:a=`RNM(${s[r.index].name})`;break;case e.TRG:a=`TRG(${r.min},${r.max})`;break;case e.TBS:a=r.string.length>6?`TBS(${t.charsToString(r.string,0,3)}...)`:`TBS(${t.charsToString(r.string,0,6)})`;break;case e.TLS:a=r.string.length>6?`TLS(${t.charsToString(r.string,0,3)}...)`:`TLS(${t.charsToString(r.string,0,6)})`;break;case e.UDT:a=`UDT(${o[r.index].name})`;break;case e.AND:a="AND";break;case e.NOT:a="NOT";break;default:throw new Error(`${n}Trace: opName: unrecognized opcode`)}return a};c.down=(e,n)=>{const s=u(i),o=Math.min(100,r.length-n);let c=t.charsToString(r,n,o);o<r.length-n&&(c+="..."),c=`${s}|-|[${l(e)}]${c}\n`,a+=c,i+=1},c.up=(s,o,c,h)=>{const f=`${n}trace.up: `;i-=1;const p=u(i);let d,m,y;switch(o){case e.EMPTY:y="|E|",m="''";break;case e.MATCH:y="|M|",d=Math.min(100,h),m=d<h?`'${t.charsToString(r,c,d)}...'`:`'${t.charsToString(r,c,d)}'`;break;case e.NOMATCH:y="|N|",m="";break;default:throw new Error(`${f} unrecognized state`)}m=`${p}${y}[${l(s)}]${m}\n`,a+=m},c.displayTrace=()=>a},d=function(){const e=y;let t,n,r;const s=[],o=[],a=[];this.init=(e,r)=>{t=e,n=r,f()},this.collect=(t,n)=>{p(r,n.state,n.phraseLength),p(s[t.type],n.state,n.phraseLength),t.type===e.RNM&&p(o[t.index],n.state,n.phraseLength),t.type===e.UDT&&p(a[t.index],n.state,n.phraseLength)},this.displayStats=()=>{let t="";const n={match:0,empty:0,nomatch:0,total:0},r=(e,t,r,s,o)=>{n.match+=t,n.empty+=r,n.nomatch+=s,n.total+=o;return`${e} | ${i(t)} | ${i(r)} | ${i(s)} | ${i(o)} |\n`};return t+=" OPERATOR STATS\n",t+=" | MATCH | EMPTY | NOMATCH | TOTAL |\n",t+=r(" ALT",s[e.ALT].match,s[e.ALT].empty,s[e.ALT].nomatch,s[e.ALT].total),t+=r(" CAT",s[e.CAT].match,s[e.CAT].empty,s[e.CAT].nomatch,s[e.CAT].total),t+=r(" REP",s[e.REP].match,s[e.REP].empty,s[e.REP].nomatch,s[e.REP].total),t+=r(" RNM",s[e.RNM].match,s[e.RNM].empty,s[e.RNM].nomatch,s[e.RNM].total),t+=r(" TRG",s[e.TRG].match,s[e.TRG].empty,s[e.TRG].nomatch,s[e.TRG].total),t+=r(" TBS",s[e.TBS].match,s[e.TBS].empty,s[e.TBS].nomatch,s[e.TBS].total),t+=r(" TLS",s[e.TLS].match,s[e.TLS].empty,s[e.TLS].nomatch,s[e.TLS].total),t+=r(" UDT",s[e.UDT].match,s[e.UDT].empty,s[e.UDT].nomatch,s[e.UDT].total),t+=r(" AND",s[e.AND].match,s[e.AND].empty,s[e.AND].nomatch,s[e.AND].total),t+=r(" NOT",s[e.NOT].match,s[e.NOT].empty,s[e.NOT].nomatch,s[e.NOT].total),t+=r("TOTAL",n.match,n.empty,n.nomatch,n.total),t},this.displayHits=e=>{let t="";const n=(e,t,n,s,o)=>{r.match+=e,r.empty+=t,r.nomatch+=n,r.total+=s;return`| ${i(e)} | ${i(t)} | ${i(n)} | ${i(s)} | ${o}\n`};"string"==typeof e&&"a"===e.toLowerCase()[0]?(o.sort(c),a.sort(c),t+=" RULES/UDTS ALPHABETICALLY\n"):"string"==typeof e&&"i"===e.toLowerCase()[0]?(o.sort(l),a.sort(l),t+=" RULES/UDTS BY INDEX\n"):(o.sort(u),a.sort(u),t+=" RULES/UDTS BY HIT COUNT\n"),t+="| MATCH | EMPTY | NOMATCH | TOTAL | NAME\n";for(let e=0;e<o.length;e+=1){let r=o[e];r.total&&(t+=n(r.match,r.empty,r.nomatch,r.total,r.name))}for(let e=0;e<a.length;e+=1){let r=a[e];r.total&&(t+=n(r.match,r.empty,r.nomatch,r.total,r.name))}return t};const i=e=>e<10?` ${e}`:e<100?` ${e}`:e<1e3?` ${e}`:e<1e4?` ${e}`:e<1e5?` ${e}`:e<1e6?` ${e}`:`${e}`,c=(e,t)=>e.lower<t.lower?-1:e.lower>t.lower?1:0,u=(e,t)=>e.total<t.total?1:e.total>t.total?-1:c(e,t),l=(e,t)=>e.index<t.index?-1:e.index>t.index?1:0,h=function(){this.empty=0,this.match=0,this.nomatch=0,this.total=0},f=()=>{s.length=0,r=new h,s[e.ALT]=new h,s[e.CAT]=new h,s[e.REP]=new h,s[e.RNM]=new h,s[e.TRG]=new h,s[e.TBS]=new h,s[e.TLS]=new h,s[e.UDT]=new h,s[e.AND]=new h,s[e.NOT]=new h,o.length=0;for(let e=0;e<t.length;e+=1)o.push({empty:0,match:0,nomatch:0,total:0,name:t[e].name,lower:t[e].lower,index:t[e].index});if(n.length>0){a.length=0;for(let e=0;e<n.length;e+=1)a.push({empty:0,match:0,nomatch:0,total:0,name:n[e].name,lower:n[e].lower,index:n[e].index})}},p=(t,n)=>{switch(t.total+=1,n){case e.EMPTY:t.empty+=1;break;case e.MATCH:t.match+=1;break;case e.NOMATCH:t.nomatch+=1;break;default:throw new Error(`parser.js: Stats(): collect(): incStat(): unrecognized state: ${n}`)}}},m={stringToChars:e=>[...e].map(e=>e.codePointAt(0)),charsToString:(e,t,n)=>{let r=e;for(;!(void 0===t||t<0);){if(void 0===n){r=e.slice(t);break}if(n<=0)return"";r=e.slice(t,t+n);break}return String.fromCodePoint(...r)}},y={ALT:1,CAT:2,REP:3,RNM:4,TRG:5,TBS:6,TLS:7,UDT:11,AND:12,NOT:13,ACTIVE:100,MATCH:101,EMPTY:102,NOMATCH:103,SEM_PRE:200,SEM_POST:201,SEM_OK:300,idName:e=>{switch(e){case y.ALT:return"ALT";case y.CAT:return"CAT";case y.REP:return"REP";case y.RNM:return"RNM";case y.TRG:return"TRG";case y.TBS:return"TBS";case y.TLS:return"TLS";case y.UDT:return"UDT";case y.AND:return"AND";case y.NOT:return"NOT";case y.ACTIVE:return"ACTIVE";case y.EMPTY:return"EMPTY";case y.MATCH:return"MATCH";case y.NOMATCH:return"NOMATCH";case y.SEM_PRE:return"SEM_PRE";case y.SEM_POST:return"SEM_POST";case y.SEM_OK:return"SEM_OK";default:return"UNRECOGNIZED STATE"}}};function g(){this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"json-pointer",lower:"json-pointer",index:0,isBkr:!1},this.rules[1]={name:"reference-token",lower:"reference-token",index:1,isBkr:!1},this.rules[2]={name:"unescaped",lower:"unescaped",index:2,isBkr:!1},this.rules[3]={name:"escaped",lower:"escaped",index:3,isBkr:!1},this.rules[4]={name:"array-location",lower:"array-location",index:4,isBkr:!1},this.rules[5]={name:"array-index",lower:"array-index",index:5,isBkr:!1},this.rules[6]={name:"array-dash",lower:"array-dash",index:6,isBkr:!1},this.rules[7]={name:"slash",lower:"slash",index:7,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:3,min:0,max:1/0},this.rules[0].opcodes[1]={type:2,children:[2,3]},this.rules[0].opcodes[2]={type:4,index:7},this.rules[0].opcodes[3]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:0,max:1/0},this.rules[1].opcodes[1]={type:1,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:2},this.rules[1].opcodes[3]={type:4,index:3},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:1,children:[1,2,3]},this.rules[2].opcodes[1]={type:5,min:0,max:46},this.rules[2].opcodes[2]={type:5,min:48,max:125},this.rules[2].opcodes[3]={type:5,min:127,max:1114111},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:2,children:[1,2]},this.rules[3].opcodes[1]={type:7,string:[126]},this.rules[3].opcodes[2]={type:1,children:[3,4]},this.rules[3].opcodes[3]={type:7,string:[48]},this.rules[3].opcodes[4]={type:7,string:[49]},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:4,index:5},this.rules[4].opcodes[2]={type:4,index:6},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2]},this.rules[5].opcodes[1]={type:6,string:[48]},this.rules[5].opcodes[2]={type:2,children:[3,4]},this.rules[5].opcodes[3]={type:5,min:49,max:57},this.rules[5].opcodes[4]={type:3,min:0,max:1/0},this.rules[5].opcodes[5]={type:5,min:48,max:57},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:7,string:[45]},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:7,string:[47]},this.toString=function(){let e="";return e+="; JavaScript Object Notation (JSON) Pointer ABNF syntax\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901\n",e+="json-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\n",e+="reference-token = *( unescaped / escaped )\n",e+="unescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n",e+=" ; %x2F ('/') and %x7E ('~') are excluded from 'unescaped'\n",e+='escaped = "~" ( "0" / "1" )\n',e+=" ; representing '~' and '/', respectively\n",e+="\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901#section-4\n",e+="array-location = array-index / array-dash\n",e+="array-index = %x30 / ( %x31-39 *(%x30-39) )\n",e+=' ; "0", or digits without a leading "0"\n',e+='array-dash = "-"\n',e+="\n",e+="; Surrogate named rules\n",e+='slash = "/"\n','; JavaScript Object Notation (JSON) Pointer ABNF syntax\n; https://datatracker.ietf.org/doc/html/rfc6901\njson-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\nreference-token = *( unescaped / escaped )\nunescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n ; %x2F (\'/\') and %x7E (\'~\') are excluded from \'unescaped\'\nescaped = "~" ( "0" / "1" )\n ; representing \'~\' and \'/\', respectively\n\n; https://datatracker.ietf.org/doc/html/rfc6901#section-4\narray-location = array-index / array-dash\narray-index = %x30 / ( %x31-39 *(%x30-39) )\n ; "0", or digits without a leading "0"\narray-dash = "-"\n\n; Surrogate named rules\nslash = "/"\n'}}class v extends Error{constructor(e,t=void 0){if(super(e,t),this.name=this.constructor.name,"string"==typeof e&&(this.message=e),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack,null!=t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"cause")&&!("cause"in this)){const{cause:e}=t;this.cause=e,e instanceof Error&&"stack"in e&&(this.stack=`${this.stack}\nCAUSE: ${e.stack}`)}if(null!=t&&"object"==typeof t){const{cause:e,...n}=t;Object.assign(this,n)}}}const b=v;const w=class extends b{},T=e=>(t,n,r,s,o)=>{if("object"!=typeof o||null===o||Array.isArray(o))throw new w("parser's user data must be an object");if(t===y.SEM_PRE){const t={type:e,text:m.charsToString(n,r,s),start:r,length:s,children:[]};if(o.stack.length>0){o.stack[o.stack.length-1].children.push(t)}else o.root=t;o.stack.push(t)}t===y.SEM_POST&&o.stack.pop()};const k=class extends f{constructor(){super(),this.callbacks["json-pointer"]=T("json-pointer"),this.callbacks["reference-token"]=T("reference-token"),this.callbacks.slash=T("text")}getTree(){const e={stack:[],root:null};return this.translate(e),delete e.stack,e}},x=e=>{if("string"!=typeof e)throw new TypeError("Reference token must be a string");return e.replace(/~1/g,"/").replace(/~0/g,"~")};const E=class extends k{getTree(){const{root:e}=super.getTree();return e.children.filter(({type:e})=>"reference-token"===e).map(({text:e})=>x(e))}};const A=class extends Array{toString(){return this.map(e=>`"${String(e)}"`).join(", ")}};const P=class extends p{inferExpectations(){const e=this.displayTrace().split("\n"),t=new Set;let n=-1;for(let r=0;r<e.length;r++){const s=e[r];if(s.includes("M|")){const e=s.match(/]'(.*)'$/);e&&e[1]&&(n=r)}if(r>n){const e=s.match(/N\|\[TLS\(([^)]+)\)]/);e&&t.add(e[1])}}return new A(...t)}},S=new g,O=(e,{translator:t=new E,stats:n=!1,trace:r=!1}={})=>{if("string"!=typeof e)throw new TypeError("JSON Pointer must be a string");try{const s=new h;t&&(s.ast=t),n&&(s.stats=new d),r&&(s.trace=new P);const o=s.parse(S,"json-pointer",e);return{result:o,tree:o.success&&t?s.ast.getTree():void 0,stats:s.stats,trace:s.trace}}catch(t){throw new w("Unexpected error during JSON Pointer parsing",{cause:t,jsonPointer:e})}};new g,new h,new g,new h;const M=new g,j=new h,N=e=>{if("string"!=typeof e)return!1;try{return j.parse(M,"array-index",e).success}catch{return!1}},C=new g,$=new h,L=e=>{if("string"!=typeof e)return!1;try{return $.parse(C,"array-dash",e).success}catch{return!1}},_=e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return String(e).replace(/~/g,"~0").replace(/\//g,"~1")};const R=class extends b{},I=e=>{if(!Array.isArray(e))throw new TypeError("Reference tokens must be a list of strings or numbers");try{return 0===e.length?"":`/${e.map(e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return _(String(e))}).join("/")}`}catch(t){throw new R("Unexpected error during JSON Pointer compilation",{cause:t,referenceTokens:e})}};const F=class{#e;#t;#n;constructor(e,t={}){this.#e=e,this.#e.steps=[],this.#e.failed=!1,this.#e.failedAt=-1,this.#e.message=`JSON Pointer "${t.jsonPointer}" was successfully evaluated against the provided value`,this.#e.context={...t,realm:t.realm.name},this.#t=[],this.#n=t.realm}step({referenceToken:e,input:t,output:n,success:r=!0,reason:s}){const o=this.#t.length;this.#t.push(e);const a={referenceToken:e,referenceTokenPosition:o,input:t,inputType:this.#n.isObject(t)?"object":this.#n.isArray(t)?"array":"unrecognized",output:n,success:r};s&&(a.reason=s),this.#e.steps.push(a),r||(this.#e.failed=!0,this.#e.failedAt=o,this.#e.message=s)}};const D=class{name="";isArray(e){throw new b("Realm.isArray(node) must be implemented in a subclass")}isObject(e){throw new b("Realm.isObject(node) must be implemented in a subclass")}sizeOf(e){throw new b("Realm.sizeOf(node) must be implemented in a subclass")}has(e,t){throw new b("Realm.has(node) must be implemented in a subclass")}evaluate(e,t){throw new b("Realm.evaluate(node) must be implemented in a subclass")}};const V=class extends b{};const U=class extends V{};const H=class extends D{name="json";isArray(e){return Array.isArray(e)}isObject(e){return"object"==typeof e&&null!==e&&!this.isArray(e)}sizeOf(e){return this.isArray(e)?e.length:this.isObject(e)?Object.keys(e).length:0}has(e,t){if(this.isArray(e)){const n=Number(t),r=n>>>0;if(n!==r)throw new U(`Invalid array index "${t}": index must be an unsinged 32-bit integer`,{referenceToken:t,currentValue:e,realm:this.name});return r<this.sizeOf(e)&&Object.prototype.hasOwnProperty.call(e,n)}return!!this.isObject(e)&&Object.prototype.hasOwnProperty.call(e,t)}evaluate(e,t){return this.isArray(e)?e[Number(t)]:e[t]}};const z=class extends V{};const B=class extends V{},J=(e,t,{strictArrays:n=!0,strictObjects:r=!0,realm:s=new H,trace:o=!0}={})=>{const{result:a,tree:i,trace:c}=O(t,{trace:!!o}),u="object"==typeof o&&null!==o?new F(o,{jsonPointer:t,referenceTokens:i,strictArrays:n,strictObjects:r,realm:s,value:e}):null;try{let o;if(!a.success){let n=`Invalid JSON Pointer: "${t}". Syntax error at position ${a.maxMatched}`;throw n+=c?`, expected ${c.inferExpectations()}`:"",new V(n,{jsonPointer:t,currentValue:e,realm:s.name})}return i.reduce((e,a,c)=>{if(s.isArray(e)){if(L(a)){if(n)throw new U(`Invalid array index "-" at position ${c} in "${t}". The "-" token always refers to a nonexistent element during evaluation`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,String(s.sizeOf(e))),null==u||u.step({referenceToken:a,input:e,output:o}),o}if(!N(a))throw new U(`Invalid array index "${a}" at position ${c} in "${t}": index MUST be "0", or digits without a leading "0"`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name});const r=Number(a);if(!Number.isSafeInteger(r))throw new U(`Invalid array index "${a}" at position ${c} in "${t}": index must be a safe integer`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name});if(!s.has(e,a)&&n)throw new U(`Invalid array index "${a}" at position ${c} in "${t}": index not found in array`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,a),null==u||u.step({referenceToken:a,input:e,output:o}),o}if(s.isObject(e)){if(!s.has(e,a)&&r)throw new B(`Invalid object key "${a}" at position ${c} in "${t}": key not found in object`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,a),null==u||u.step({referenceToken:a,input:e,output:o}),o}throw new z(`Invalid reference token "${a}" at position ${c} in "${t}": cannot be applied to a non-object/non-array value`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name})},e)}catch(e){if(null==u||u.step({referenceToken:e.referenceToken,input:e.currentValue,success:!1,reason:e.message}),e instanceof V)throw e;throw new V("Unexpected error during JSON Pointer evaluation",{cause:e,jsonPointer:t,referenceTokens:i})}};const Y=new RegExp("^(?<nonNegativeIntegerPrefix>[1-9]\\d*|0)(?<indexManipulation>[+-][1-9]\\d*|0)?((?<hashCharacter>#)|(?<jsonPointer>\\/.*))?$"),G=e=>"string"==typeof e&&Y.test(e),q=e=>{const t=e.match(Y);if(null===t||void 0===t.groups)throw new c(`Invalid Relative JSON Pointer "${e}".`,{relativePointer:e});try{const e=parseInt(t.groups.nonNegativeIntegerPrefix,10),n="string"==typeof t.groups.indexManipulation?parseInt(t.groups.indexManipulation,10):void 0,r="string"==typeof t.groups.jsonPointer?O(t.groups.jsonPointer).tree:void 0;return{nonNegativeIntegerPrefix:e,indexManipulation:n,jsonPointerTokens:r,hashCharacter:"string"==typeof t.groups.hashCharacter}}catch(t){throw new c(`Relative JSON Pointer parsing of "${e}" encountered an error.`,{relativePointer:e,cause:t})}},W=e=>{try{let t="";return t+=String(e.nonNegativeIntegerPrefix),"number"==typeof e.indexManipulation&&(t+=String(e.indexManipulation)),Array.isArray(e.jsonPointerTokens)?t+=I(e.jsonPointerTokens):e.hashCharacter&&(t+="#"),t}catch(t){throw new l("Relative JSON Pointer compilation encountered an error.",{relativePointer:e,cause:t})}};function K(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function X(e){return function t(n){return 0===arguments.length||K(n)?t:e.apply(this,arguments)}}function Z(e){return function t(n,r){switch(arguments.length){case 0:return t;case 1:return K(n)?t:X(function(t){return e(n,t)});default:return K(n)&&K(r)?t:K(n)?X(function(t){return e(t,r)}):K(r)?X(function(t){return e(n,t)}):e(n,r)}}}function Q(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function ee(e,t,n){for(var r=0,s=n.length;r<s;){if(e(t,n[r]))return!0;r+=1}return!1}function te(e,t){return Object.prototype.hasOwnProperty.call(t,e)}const ne="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};var re=Object.prototype.toString;const se=function(){return"[object Arguments]"===re.call(arguments)?function(e){return"[object Arguments]"===re.call(e)}:function(e){return te("callee",e)}}();var oe=!{toString:null}.propertyIsEnumerable("toString"),ae=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],ie=function(){return arguments.propertyIsEnumerable("length")}(),ce=function(e,t){for(var n=0;n<e.length;){if(e[n]===t)return!0;n+=1}return!1},ue="function"!=typeof Object.keys||ie?X(function(e){if(Object(e)!==e)return[];var t,n,r=[],s=ie&&se(e);for(t in e)!te(t,e)||s&&"length"===t||(r[r.length]=t);if(oe)for(n=ae.length-1;n>=0;)te(t=ae[n],e)&&!ce(r,t)&&(r[r.length]=t),n-=1;return r}):X(function(e){return Object(e)!==e?[]:Object.keys(e)});const le=ue;const he=X(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function fe(e,t,n,r){var s=Q(e);function o(e,t){return pe(e,t,n.slice(),r.slice())}return!ee(function(e,t){return!ee(o,t,e)},Q(t),s)}function pe(e,t,n,r){if(ne(e,t))return!0;var s,o,a=he(e);if(a!==he(t))return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(a){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===(s=e.constructor,null==(o=String(s).match(/^function (\w*)/))?"":o[1]))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!ne(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!ne(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var i=n.length-1;i>=0;){if(n[i]===e)return r[i]===t;i-=1}switch(a){case"Map":return e.size===t.size&&fe(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&fe(e.values(),t.values(),n.concat([e]),r.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var c=le(e);if(c.length!==le(t).length)return!1;var u=n.concat([e]),l=r.concat([t]);for(i=c.length-1;i>=0;){var h=c[i];if(!te(h,t)||!pe(t[h],e[h],u,l))return!1;i-=1}return!0}const de=Z(function(e,t){return pe(e,t,[],[])});const me=class{key;value;constructor(e,t){this.key=e,this.value=t}toValue(){return{key:this.key?.toValue(),value:this.value?.toValue()}}};class ye{elements;constructor(e){this.elements=e??[]}toValue(){return this.elements.map(e=>({key:e.key?.toValue(),value:e.value?.toValue()}))}map(e,t){return this.elements.map(n=>{const r=n.value,s=n.key;if(void 0===r||void 0===s)throw new Error("MemberElement must have both key and value");return void 0!==t?e.call(t,r,s,n):e(r,s,n)})}filter(e,t){const n=this.elements.filter(n=>{const r=n.value,s=n.key;return void 0!==r&&void 0!==s&&(void 0!==t?e.call(t,r,s,n):e(r,s,n))});return new ye(n)}reject(e,t){const n=[];for(const r of this.elements){const s=r.value,o=r.key;void 0!==s&&void 0!==o&&(e.call(t,s,o,r)||n.push(r))}return new ye(n)}forEach(e,t){this.elements.forEach((n,r)=>{const s=n.value,o=n.key;void 0!==s&&void 0!==o&&(void 0!==t?e.call(t,s,o,n,r):e(s,o,n,r))})}find(e,t){return this.elements.find(n=>{const r=n.value,s=n.key;return void 0!==r&&void 0!==s&&(void 0!==t?e.call(t,r,s,n):e(r,s,n))})}keys(){return this.elements.map(e=>e.key?.toValue()).filter(e=>void 0!==e)}values(){return this.elements.map(e=>e.value?.toValue()).filter(e=>void 0!==e)}get length(){return this.elements.length}get isEmpty(){return 0===this.length}get first(){return this.elements[0]}get(e){return this.elements[e]}push(e){return this.elements.push(e),this}includesKey(e){return this.elements.some(t=>t.key?.equals(e))}[Symbol.iterator](){return this.elements[Symbol.iterator]()}}const ge=ye;class ve{parent;startLine;startCharacter;startOffset;endLine;endCharacter;endOffset;_storedElement="element";_content;_meta;_attributes;constructor(e,t,n){void 0!==t&&(this.meta=t),void 0!==n&&(this.attributes=n),void 0!==e&&(this.content=e)}get element(){return this._storedElement}set element(e){this._storedElement=e}get content(){return this._content}set content(e){if(e instanceof ve)this._content=e;else if(null!=e&&"string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e&&"bigint"!=typeof e&&"symbol"!=typeof e)if(e instanceof me)this._content=e;else if(e instanceof ge)this._content=e.elements;else if(Array.isArray(e))this._content=e.map(e=>this.refract(e));else{if("object"!=typeof e)throw new Error("Cannot set content to value of type "+typeof e);this._content=Object.entries(e).map(([e,t])=>new this.MemberElement(e,t))}else this._content=e}get meta(){if(!this._meta){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._meta=new this.ObjectElement}return this._meta}set meta(e){e instanceof ve?this._meta=e:this.meta.set(e??{})}get attributes(){if(!this._attributes){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._attributes=new this.ObjectElement}return this._attributes}set attributes(e){e instanceof ve?this._attributes=e:this.attributes.set(e??{})}get id(){return this.getMetaProperty("id","")}set id(e){this.setMetaProperty("id",e)}get classes(){return this.getMetaProperty("classes",[])}set classes(e){this.setMetaProperty("classes",e)}get links(){return this.getMetaProperty("links",[])}set links(e){this.setMetaProperty("links",e)}get children(){const{_content:e}=this;if(Array.isArray(e))return e;if(e instanceof me){const t=[];return e.key&&t.push(e.key),e.value&&t.push(e.value),t}return e instanceof ve?[e]:[]}get isFrozen(){return Object.isFrozen(this)}freeze(){if(!this.isFrozen){this._meta&&(this._meta.parent=this,this._meta.freeze()),this._attributes&&(this._attributes.parent=this,this._attributes.freeze());for(const e of this.children)e.parent=this,e.freeze();Array.isArray(this._content)&&Object.freeze(this._content),Object.freeze(this)}}toValue(){const{_content:e}=this;return e instanceof ve||e instanceof me?e.toValue():Array.isArray(e)?e.map(e=>e.toValue()):e}equals(e){return de(this.toValue(),e)}primitive(){}set(e){return this.content=e,this}toRef(e){const t=this.id.toValue();if(""===t)throw new Error("Cannot create reference to an element without an ID");const n=new this.RefElement(t);return"string"==typeof e&&(n.path=this.refract(e)),n}getMetaProperty(e,t){if(!this.meta.hasKey(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.meta.set(e,t)}return this.meta.get(e)}setMetaProperty(e,t){this.meta.set(e,t)}hasMetaProperty(e){return!this.isMetaEmpty&&this.meta.hasKey(e)}get isMetaEmpty(){return void 0===this._meta||this.meta.isEmpty}getAttributesProperty(e,t){if(!this.hasAttributesProperty(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.attributes.set(e,t)}return this.attributes.get(e)}setAttributesProperty(e,t){this.attributes.set(e,t)}hasAttributesProperty(e){return!this.isAttributesEmpty&&this.attributes.hasKey(e)}get isAttributesEmpty(){return void 0===this._attributes||this.attributes.isEmpty}}const be=ve;class we extends be{constructor(e,t,n){super(e||[],t,n)}get length(){return this._content.length}get isEmpty(){return 0===this.length}get first(){return this._content[0]}get second(){return this._content[1]}get last(){return this._content.at(-1)}push(...e){for(const t of e)this._content.push(this.refract(t));return this}shift(){return this._content.shift()}unshift(e){this._content.unshift(this.refract(e))}includes(e){return this._content.some(t=>t.equals(e))}findElements(e,t){const n=t||{},r=!!n.recursive,s=void 0===n.results?[]:n.results;for(let t=0;t<this._content.length;t+=1){const n=this._content[t],o=n;r&&"function"==typeof o.findElements&&o.findElements(e,{results:s,recursive:r}),e(n,t,void 0)&&s.push(n)}return s}find(e){const t=this.findElements(e,{recursive:!0});return new this.ArrayElement(t)}findByElement(e){return this.find(t=>t.element===e)}findByClass(e){return this.find(t=>{const n=t.classes;return"function"==typeof n.includes&&n.includes(e)})}getById(e){return this.find(t=>t.id.toValue()===e).first}concat(e){return new(0,this.constructor)(this._content.concat(e._content))}[Symbol.iterator](){return this._content[Symbol.iterator]()}}const Te=we;const ke=class extends Te{constructor(e,t,n){super(e||[],t,n),this.element="array"}primitive(){return"array"}get(e){return this._content[e]}getValue(e){const t=this.get(e);if(t)return t.toValue()}set(e,t){return"number"==typeof e&&void 0!==t?this._content[e]=this.refract(t):this.content=e,this}remove(e){return this._content.splice(e,1)[0]??null}map(e,t){return this._content.map(e,t)}flatMap(e,t){return this._content.flatMap(e,t)}compactMap(e,t){const n=[];for(const r of this._content){const s=e.call(t,r);s&&n.push(s)}return n}filter(e,t){const n=this._content.filter(e,t);return new this.constructor(n)}reject(e,t){const n=[];for(const r of this._content)e.call(t,r)||n.push(r);return new this.constructor(n)}reduce(e,t){let n,r;void 0!==t?(n=0,r=this.refract(t)):(n=1,r=this.first);for(let t=n;t<this.length;t+=1){const n=e(r,this._content[t],t,this);r=void 0===n?n:this.refract(n)}return r}forEach(e,t){this._content.forEach((n,r)=>{e.call(t,n,r)})}empty(){return new this.constructor([])}};const xe=class extends be{constructor(e,t,n,r){super(new me,n,r),this.element="member",void 0!==e&&(this.key=e),arguments.length>=2&&(this.value=t)}primitive(){return"member"}get key(){return this._content.key}set key(e){this._content.key=this.refract(e)}get value(){return this._content.value}set value(e){this._content.value=void 0===e?void 0:this.refract(e)}};const Ee=class extends Te{constructor(e,t,n){super(e||[],t,n),this.element="object"}primitive(){return"object"}toValue(){return this._content.reduce((e,t)=>(e[t.key.toValue()]=t.value?t.value.toValue():void 0,e),{})}get(e){const t=this.getMember(e);if(t)return t.value}getValue(e){const t=this.get(e);if(t)return t.toValue()}getMember(e){if(void 0!==e)return this._content.find(t=>t.key.toValue()===e)}remove(e){let t=null;return this.content=this._content.filter(n=>n.key.toValue()!==e||(t=n,!1)),t}getKey(e){const t=this.getMember(e);if(t)return t.key}set(e,t){if("string"==typeof e){const n=this.getMember(e);n?n.value=t:this._content.push(new xe(e,t))}else if("object"==typeof e&&!Array.isArray(e))for(const t of Object.keys(e))this.set(t,e[t]);return this}keys(){return this._content.map(e=>e.key.toValue())}values(){return this._content.map(e=>e.value.toValue())}hasKey(e){return this._content.some(t=>t.key.equals(e))}items(){return this._content.map(e=>[e.key.toValue(),e.value.toValue()])}map(e,t){return this._content.map(n=>e.call(t,n.value,n.key,n))}compactMap(e,t){const n=[];return this.forEach((r,s,o)=>{const a=e.call(t,r,s,o);a&&n.push(a)}),n}filter(e,t){return new ge(this._content).filter(e,t)}reject(e,t){const n=[];for(const r of this._content)e.call(t,r.value,r.key,r)||n.push(r);return new ge(n)}forEach(e,t){this._content.forEach(n=>e.call(t,n.value,n.key,n))}reduce(e,t){let n,r;void 0!==t?(n=0,r=this.refract(t)):(n=1,r=this._content[0]?.value);for(let t=n;t<this._content.length;t+=1){const n=this._content[t],s=e(r,n.value,n.key,n,this);r=void 0===s?s:this.refract(s)}return r}empty(){return new this.constructor([])}},Ae=e=>e instanceof be,Pe=e=>e instanceof ke,Se=e=>e instanceof Ee,Oe=e=>e instanceof xe;const Me=class extends be{constructor(e,t,n){super(e,t,n),this.element="string"}primitive(){return"string"}get length(){return this.content?.length??0}};class je extends Me{constructor(e,t,n){super(e,t,n),this.element="sourceMap"}static transfer(e,t){t.startLine=e.startLine,t.startCharacter=e.startCharacter,t.startOffset=e.startOffset,t.endLine=e.endLine,t.endCharacter=e.endCharacter,t.endOffset=e.endOffset}static from(e){const{startLine:t,startCharacter:n,startOffset:r,endLine:s,endCharacter:o,endOffset:a}=e;if("number"!=typeof t||"number"!=typeof n||"number"!=typeof r||"number"!=typeof s||"number"!=typeof o||"number"!=typeof a)return;const i="sm1:"+[t,n,r,s,o,a].map(Ce).join("");const c=new je(i);return c.startLine=t,c.startCharacter=n,c.startOffset=r,c.endLine=s,c.endCharacter=o,c.endOffset=a,c}applyTo(e){this.content&&([e.startLine,e.startCharacter,e.startOffset,e.endLine,e.endCharacter,e.endOffset]=function(e){const t=e.startsWith("sm1:")?e.slice(4):e,n=[];let r=0;for(let e=0;e<6;e++){const e=$e(t,r);n.push(e.value),r=e.next}return n}(this.content))}}const Ne="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Ce(e){let t=e>>>0,n="";do{let e=31&t;t>>>=5,0!==t&&(e|=32),n+=Ne[e]}while(0!==t);return n}function $e(e,t=0){let n=0,r=0,s=t;for(;;){const t=e[s++],o=Ne.indexOf(t);if(-1===o)throw new Error(`Invalid Base64 VLQ char: ${t}`);if(n|=(31&o)<<r,r+=5,!!!(32&o))break}return{value:n>>>0,next:s}}const Le=je;const _e=class extends a{value;constructor(e,t){super(e,t),void 0!==t&&(this.value=t.value)}};const Re=class extends _e{};const Ie=class extends _e{},Fe=(e,t)=>{const{visited:n=new WeakMap}=t,r={...t,visited:n};if(n.has(e))return n.get(e);const s=He(e);n.set(e,s);const{content:o}=e;return Array.isArray(o)?s.content=o.map(e=>Fe(e,r)):Ae(o)?s.content=Fe(o,r):s.content=o instanceof me?De(o,r):o,s},De=(e,t)=>{const{visited:n=new WeakMap}=t,r={...t,visited:n};if(n.has(e))return n.get(e);const{key:s,value:o}=e,a=void 0!==s?Fe(s,r):void 0,i=void 0!==o?Fe(o,r):void 0,c=new me(a,i);return n.set(e,c),c},Ve=(e,t={})=>{if(e instanceof me)return De(e,t);if(e instanceof ge)return((e,t)=>{const{visited:n=new WeakMap}=t,r={...t,visited:n};if(n.has(e))return n.get(e);const s=[...e].map(e=>Fe(e,r)),o=new ge(s);return n.set(e,o),o})(e,t);if(Ae(e))return Fe(e,t);throw new Re("Value provided to cloneDeep function couldn't be cloned",{value:e})};Ve.safe=e=>{try{return Ve(e)}catch{return e}};const Ue=e=>{const{key:t,value:n}=e;return new me(t,n)},He=e=>{const t=new(0,e.constructor);t.element=e.element,e.isMetaEmpty||(t.meta=Ve(e.meta)),e.isAttributesEmpty||(t.attributes=Ve(e.attributes)),(e=>"number"==typeof e.startLine&&"number"==typeof e.startCharacter&&"number"==typeof e.startOffset&&"number"==typeof e.endLine&&"number"==typeof e.endCharacter&&"number"==typeof e.endOffset)(e)&&Le.transfer(e,t);const{content:n}=e;return Ae(n)?t.content=He(n):Array.isArray(n)?t.content=[...n]:t.content=n instanceof me?Ue(n):n,t},ze=e=>{if(e instanceof me)return Ue(e);if(e instanceof ge)return(e=>{const t=[...e];return new ge(t)})(e);if(Ae(e))return He(e);throw new Ie("Value provided to cloneShallow function couldn't be cloned",{value:e})};ze.safe=e=>{try{return ze(e)}catch{return e}};const Be=class extends be{constructor(e,t,n){super(e,t,n),this.element="number"}primitive(){return"number"}};class Je{node;key;index;parent;parentPath;inList;#r=!1;#s=!1;#o=!1;#a=!1;#i;#c=!1;constructor(e,t,n,r,s){this.node=e,this.parent=t,this.parentPath=n,this.key=r,this.index=s&&"number"==typeof r?r:void 0,this.inList=s}get shouldSkip(){return this.#r}get shouldStop(){return this.#s}get removed(){return this.#o}isRoot(){return null===this.parentPath}get depth(){let e=0,t=this.parentPath;for(;null!==t;)e+=1,t=t.parentPath;return e}getAncestry(){const e=[];let t=this.parentPath;for(;null!==t;)e.push(t),t=t.parentPath;return e}getAncestorNodes(){return this.getAncestry().map(e=>e.node)}getPathKeys(){const e=[];let t=this;for(;null!==t&&void 0!==t.key;)e.unshift(t.key),t=t.parentPath;return e}findParent(e){let t=this.parentPath;for(;null!==t;){if(e(t))return t;t=t.parentPath}return null}find(e){return e(this)?this:this.findParent(e)}skip(){this.#r=!0}stop(){this.#s=!0}replaceWith(e){this.#c&&console.warn("Warning: replaceWith() called on a stale Path. This path belongs to a node whose visit has already completed. The replacement will have no effect. To replace a parent node, do so from the parent's own visitor."),this.#a=!0,this.#i=e,this.node=e}remove(){this.#c&&console.warn("Warning: remove() called on a stale Path. This path belongs to a node whose visit has already completed. The removal will have no effect. To remove a parent node, do so from the parent's own visitor."),this.#o=!0}_getReplacementNode(){return this.#i}_wasReplaced(){return this.#a}_reset(){this.#r=!1,this.#s=!1,this.#o=!1,this.#a=!1,this.#i=void 0}_markStale(){this.#c=!0}}function Ye(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,r){return t.apply(this,arguments)};case 4:return function(e,n,r,s){return t.apply(this,arguments)};case 5:return function(e,n,r,s,o){return t.apply(this,arguments)};case 6:return function(e,n,r,s,o,a){return t.apply(this,arguments)};case 7:return function(e,n,r,s,o,a,i){return t.apply(this,arguments)};case 8:return function(e,n,r,s,o,a,i,c){return t.apply(this,arguments)};case 9:return function(e,n,r,s,o,a,i,c,u){return t.apply(this,arguments)};case 10:return function(e,n,r,s,o,a,i,c,u,l){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function Ge(e,t,n){return function(){for(var r=[],s=0,o=e,a=0,i=!1;a<t.length||s<arguments.length;){var c;a<t.length&&(!K(t[a])||s>=arguments.length)?c=t[a]:(c=arguments[s],s+=1),r[a]=c,K(c)?i=!0:o-=1,a+=1}return!i&&o<=0?n.apply(this,r):Ye(Math.max(0,o),Ge(e,r,n))}}const qe=Z(function(e,t){return 1===e?X(t):Ye(e,Ge(e,[],t))});function We(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t||"[object GeneratorFunction]"===t||"[object AsyncGeneratorFunction]"===t}const Ke=Z(function(e,t){return e&&t});function Xe(e,t,n){for(var r=0,s=n.length;r<s;)t=e(t,n[r]),r+=1;return t}const Ze=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};const Qe=X(function(e){return!!Ze(e)||!!e&&("object"==typeof e&&(!function(e){return"[object String]"===Object.prototype.toString.call(e)}(e)&&(0===e.length||e.length>0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))});var et="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function tt(e,t,n){return function(r,s,o){if(Qe(o))return e(r,s,o);if(null==o)return s;if("function"==typeof o["fantasy-land/reduce"])return t(r,s,o,"fantasy-land/reduce");if(null!=o[et])return n(r,s,o[et]());if("function"==typeof o.next)return n(r,s,o);if("function"==typeof o.reduce)return t(r,s,o,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function nt(e,t,n){for(var r=n.next();!r.done;)t=e(t,r.value),r=n.next();return t}function rt(e,t,n,r){return n[r](e,t)}const st=tt(Xe,rt,nt);function ot(e,t,n){return function(){if(0===arguments.length)return n();var r=arguments[arguments.length-1];if(!Ze(r)){for(var s=0;s<e.length;){if("function"==typeof r[e[s]])return r[e[s]].apply(r,Array.prototype.slice.call(arguments,0,-1));s+=1}if(function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}(r))return t.apply(null,Array.prototype.slice.call(arguments,0,-1))(r)}return n.apply(this,arguments)}}function at(e,t){for(var n=0,r=t.length,s=Array(r);n<r;)s[n]=e(t[n]),n+=1;return s}const it=function(){return this.xf["@@transducer/init"]()},ct=function(e){return this.xf["@@transducer/result"](e)};var ut=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=it,e.prototype["@@transducer/result"]=ct,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}();const lt=Z(ot(["fantasy-land/map","map"],function(e){return function(t){return new ut(e,t)}},function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return qe(t.length,function(){return e.call(this,t.apply(this,arguments))});case"[object Object]":return Xe(function(n,r){return n[r]=e(t[r]),n},{},le(t));default:return at(e,t)}}));const ht=Z(function(e,t){return"function"==typeof t["fantasy-land/ap"]?t["fantasy-land/ap"](e):"function"==typeof e.ap?e.ap(t):"function"==typeof e?function(n){return e(n)(t(n))}:st(function(e,n){return function(e,t){var n;t=t||[];var r=(e=e||[]).length,s=t.length,o=[];for(n=0;n<r;)o[o.length]=e[n],n+=1;for(n=0;n<s;)o[o.length]=t[n],n+=1;return o}(e,lt(n,t))},[],e)});const ft=Z(function(e,t){var n=qe(e,t);return qe(e,function(){return Xe(ht,lt(n,arguments[0]),Array.prototype.slice.call(arguments,1))})});const pt=X(function(e){return ft(e.length,e)});const dt=Z(function(e,t){return We(e)?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:pt(Ke)(e,t)});function mt(e,t){return function(){return t.call(this,e.apply(this,arguments))}}function yt(e){return function t(n,r,s){switch(arguments.length){case 0:return t;case 1:return K(n)?t:Z(function(t,r){return e(n,t,r)});case 2:return K(n)&&K(r)?t:K(n)?Z(function(t,n){return e(t,r,n)}):K(r)?Z(function(t,r){return e(n,t,r)}):X(function(t){return e(n,r,t)});default:return K(n)&&K(r)&&K(s)?t:K(n)&&K(r)?Z(function(t,n){return e(t,n,s)}):K(n)&&K(s)?Z(function(t,n){return e(t,r,n)}):K(r)&&K(s)?Z(function(t,r){return e(n,t,r)}):K(n)?X(function(t){return e(t,r,s)}):K(r)?X(function(t){return e(n,t,s)}):K(s)?X(function(t){return e(n,r,t)}):e(n,r,s)}}}function gt(e,t,n){for(var r=0,s=n.length;r<s;){if((t=e["@@transducer/step"](t,n[r]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r+=1}return e["@@transducer/result"](t)}const vt=Z(function(e,t){return Ye(e.length,function(){return e.apply(t,arguments)})});function bt(e,t,n){for(var r=n.next();!r.done;){if((t=e["@@transducer/step"](t,r.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r=n.next()}return e["@@transducer/result"](t)}function wt(e,t,n,r){return e["@@transducer/result"](n[r](vt(e["@@transducer/step"],e),t))}const Tt=tt(gt,wt,bt);var kt=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();const xt=yt(function(e,t,n){return Tt("function"==typeof e?new kt(e):e,t,n)});function Et(e,t){return function(){var n=arguments.length;if(0===n)return t();var r=arguments[n-1];return Ze(r)||"function"!=typeof r[e]?t.apply(this,arguments):r[e].apply(r,Array.prototype.slice.call(arguments,0,n-1))}}const At=X(Et("tail",yt(Et("slice",function(e,t,n){return Array.prototype.slice.call(n,e,t)}))(1,1/0)));function Pt(){if(0===arguments.length)throw new Error("pipe requires at least one argument");return Ye(arguments[0].length,xt(mt,arguments[0],At(arguments)))}function St(e,t){return function(e,t,n){var r,s;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(r=1/t;n<e.length;){if(0===(s=e[n])&&1/s===r)return n;n+=1}return-1}if(t!=t){for(;n<e.length;){if("number"==typeof(s=e[n])&&s!=s)return n;n+=1}return-1}return e.indexOf(t,n);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,n);case"object":if(null===t)return e.indexOf(t,n)}for(;n<e.length;){if(de(e[n],t))return n;n+=1}return-1}(t,e,0)>=0}function Ot(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var Mt=function(e){return(e<10?"0":"")+e};const jt="function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+Mt(e.getUTCMonth()+1)+"-"+Mt(e.getUTCDate())+"T"+Mt(e.getUTCHours())+":"+Mt(e.getUTCMinutes())+":"+Mt(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};var Nt=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=it,e.prototype["@@transducer/result"]=ct,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}();function Ct(e){return function(t){return new Nt(e,t)}}var $t=Z(ot(["fantasy-land/filter","filter"],Ct,function(e,t){return n=t,"[object Object]"===Object.prototype.toString.call(n)?Xe(function(n,r){return e(t[r])&&(n[r]=t[r]),n},{},le(t)):function(e){return"[object Map]"===Object.prototype.toString.call(e)}(t)?function(e,t){for(var n=new Map,r=t.entries(),s=r.next();!s.done;)e(s.value[1])&&n.set(s.value[0],s.value[1]),s=r.next();return n}(e,t):function(e,t){for(var n=0,r=t.length,s=[];n<r;)e(t[n])&&(s[s.length]=t[n]),n+=1;return s}(e,t);var n}));const Lt=$t;const _t=Z(function(e,t){return Lt((n=e,function(){return!n.apply(this,arguments)}),t);var n});function Rt(e,t){var n=function(n){var r=t.concat([e]);return St(n,r)?"<Circular>":Rt(n,r)},r=function(e,t){return at(function(t){return Ot(t)+": "+n(e[t])},t.slice().sort())};switch(Object.prototype.toString.call(e)){case"[object Arguments]":return"(function() { return arguments; }("+at(n,e).join(", ")+"))";case"[object Array]":return"["+at(n,e).concat(r(e,_t(function(e){return/^\d+$/.test(e)},le(e)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof e?"new Boolean("+n(e.valueOf())+")":e.toString();case"[object Date]":return"new Date("+(isNaN(e.valueOf())?n(NaN):Ot(jt(e)))+")";case"[object Map]":return"new Map("+n(Array.from(e))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof e?"new Number("+n(e.valueOf())+")":1/e==-1/0?"-0":e.toString(10);case"[object Set]":return"new Set("+n(Array.from(e).sort())+")";case"[object String]":return"object"==typeof e?"new String("+n(e.valueOf())+")":Ot(e);case"[object Undefined]":return"undefined";default:if("function"==typeof e.toString){var s=e.toString();if("[object Object]"!==s)return s}return"{"+r(e,le(e)).join(", ")+"}"}}const It=X(function(e){return Rt(e,[])});const Ft=Z(function(e,t){return e||t});const Dt=Z(function(e,t){return We(e)?function(){return e.apply(this,arguments)||t.apply(this,arguments)}:pt(Ft)(e,t)});const Vt=pt(X(function(e){return!e}))(de(null));const Ut=Z(function(e,t){if(e===t)return t;function n(e,t){if(e>t!=t>e)return t>e?t:e}var r=n(e,t);if(void 0!==r)return r;var s=n(typeof e,typeof t);if(void 0!==s)return s===typeof e?e:t;var o=It(e),a=n(o,It(t));return void 0!==a&&a===o?e:t}),Ht=Number.isInteger||function(e){return(e|0)===e};function zt(e,t){return t[e<0?t.length+e:e]}const Bt=Z(function(e,t){if(null!=t)return Ht(e)?zt(e,t):t[e]});const Jt=Z(function(e,t){return lt(Bt(e),t)});const Yt=X(function(e){return qe(xt(Ut,0,Jt("length",e)),function(){for(var t=0,n=e.length;t<n;){if(e[t].apply(this,arguments))return!0;t+=1}return!1})});var Gt=function(e,t){switch(arguments.length){case 0:return Gt;case 1:return function t(n){return 0===arguments.length?t:ne(e,n)};default:return ne(e,t)}};const qt=Gt;const Wt=qe(1,Pt(he,qt("GeneratorFunction")));const Kt=qe(1,Pt(he,qt("AsyncFunction")));var Xt=Yt([Pt(he,qt("Function")),Wt,Kt]);function Zt(e){return Zt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zt(e)}var Qt=qe(1,dt(Vt,Dt(function(e){return"object"===Zt(e)},Xt)));const en=qe(1,dt(Qt,Pt(It,de("[object Promise]")))),tn=e=>{const t=e?.element;return void 0===t||"element"===t?"Element":`${t.charAt(0).toUpperCase()}${t.slice(1)}Element`},nn=e=>Ae(e),rn=e=>ze(e),sn=(e,t,n)=>{Oe(e)?e.value=n:Array.isArray(e)?e[t]=null===n?void 0:n:null===n?delete e[t]:e[t]=n},on=e=>Oe(e)?["key","value"]:Pe(e)||Se(e)?["content"]:[],an=(e,t)=>{if(void 0!==e[t])return e[t];const n=t.length;for(const r in e){if(!r.includes("|"))continue;const s=r.indexOf(t);if(-1===s)continue;const o=0===s||"|"===r[s-1],a=s+n===r.length||"|"===r[s+n];if(o&&a)return e[r]}},cn=(e,t,n)=>{if(void 0===t)return null;const r=e,s=n?"leave":"enter",o=an(r,t);if(!n&&"function"==typeof o)return o;if(null!=o){const e=o[s];if("function"==typeof e)return e}const a=r[s];if("function"==typeof a)return a;if(null!=a){const e=an(a,t);if("function"==typeof e)return e}return null};function un(e,t){return new Je(t,e.parent,e.parentPath,e.key,e.inList)}function*ln(e,t,n){const{keyMap:r,state:s,nodeTypeGetter:o,nodePredicate:i,nodeCloneFn:c,detectCycles:u,mutable:l,mutationFn:h}=n,f="function"==typeof r;let p,d,m=Array.isArray(e),y=[e],g=-1,v=[],b=e,w=null,T=null;const k=[];do{g+=1;const e=g===y.length;let n;const x=e&&0!==v.length;if(e){if(n=0===k.length?void 0:w?.key,b=d,d=k.pop(),T=w?.parentPath?.parentPath??null,x)if(l)for(const[e,t]of v)h(b,e,t);else if(m){b=b.slice();let e=0;for(const[t,n]of v){const r=t-e;null===n?(b.splice(r,1),e+=1):b[r]=n}}else{b=c(b);for(const[e,t]of v)b[e]=t}if(void 0!==p){g=p.index,y=p.keys,v=p.edits;const e=p.inArray;if(T=p.parentPath,p=p.prev,x&&!l){const t=e?g:y[g];v.push([t,b])}m=e}}else if(void 0!==d&&(n=m?g:y[g],b=d[n],void 0===b))continue;if(!Array.isArray(b)){if(!i(b))throw new a(`Invalid AST Node: ${String(b)}`,{node:b});if(u&&k.includes(b))continue;w=new Je(b,d,T,n,m);const r=cn(t,o(b),e);if(r){for(const[e,n]of Object.entries(s))t[e]=n;const o=yield{visitFn:r,path:w,isLeaving:e};if(w.shouldStop)break;if(w.shouldSkip&&!e)continue;if(w.removed){if(v.push([n,null]),!e)continue}else if(w._wasReplaced()){const t=w._getReplacementNode();if(v.push([n,t]),!e){if(!i(t))continue;b=t}}else if(void 0!==o&&(v.push([n,o]),!e)){if(!i(o))continue;b=o}w._markStale()}}if(!e){if(p={inArray:m,index:g,keys:y,edits:v,parentPath:T,prev:p},m=Array.isArray(b),m)y=b;else if(f)y=r(b);else{const e=o(b);y=void 0!==e?r[e]??[]:[]}g=-1,v=[],void 0!==d&&k.push(d),d=b,T=w}}while(void 0!==p);return 0!==v.length?v.at(-1)[1]:e}((e,t={})=>{const{visitFnGetter:n=cn,nodeTypeGetter:r=tn,exposeEdits:s=!1}=t,o=Symbol("internal-skip"),i=Symbol("break"),c=new Array(e.length).fill(o);return{enter(t){let u=t.node,l=!1;for(let h=0;h<e.length;h+=1)if(c[h]===o){const o=n(e[h],r(u),!1);if("function"==typeof o){const n=un(t,u),r=o.call(e[h],n);if(en(r))throw new a("Async visitor not supported in sync mode",{visitor:e[h],visitFn:o});if(n.shouldStop){c[h]=i;break}if(n.shouldSkip&&(c[h]=u),n.removed)return void t.remove();if(n._wasReplaced()){const e=n._getReplacementNode();if(!s)return t.replaceWith(e),e;u=e,l=!0}else if(void 0!==r){if(!s)return t.replaceWith(r),r;u=r,l=!0}}}if(l)return t.replaceWith(u),u},leave(t){const s=t.node;for(let u=0;u<e.length;u+=1)if(c[u]===o){const o=n(e[u],r(s),!0);if("function"==typeof o){const n=un(t,s),r=o.call(e[u],n);if(en(r))throw new a("Async visitor not supported in sync mode",{visitor:e[u],visitFn:o});if(n.shouldStop){c[u]=i;break}if(n.removed)return void t.remove();if(n._wasReplaced()){const e=n._getReplacementNode();return t.replaceWith(e),e}if(void 0!==r)return t.replaceWith(r),r}}else c[u]===s&&(c[u]=o)}}})[Symbol.for("nodejs.util.promisify.custom")]=(e,t={})=>{const{visitFnGetter:n=cn,nodeTypeGetter:r=tn,exposeEdits:s=!1}=t,o=Symbol("internal-skip"),a=Symbol("break"),i=new Array(e.length).fill(o);return{async enter(t){let c=t.node,u=!1;for(let l=0;l<e.length;l+=1)if(i[l]===o){const o=n(e[l],r(c),!1);if("function"==typeof o){const n=un(t,c),r=await o.call(e[l],n);if(n.shouldStop){i[l]=a;break}if(n.shouldSkip&&(i[l]=c),n.removed)return void t.remove();if(n._wasReplaced()){const e=n._getReplacementNode();if(!s)return t.replaceWith(e),e;c=e,u=!0}else if(void 0!==r){if(!s)return t.replaceWith(r),r;c=r,u=!0}}}if(u)return t.replaceWith(c),c},async leave(t){const s=t.node;for(let c=0;c<e.length;c+=1)if(i[c]===o){const o=n(e[c],r(s),!0);if("function"==typeof o){const n=un(t,s),r=await o.call(e[c],n);if(n.shouldStop){i[c]=a;break}if(n.removed)return void t.remove();if(n._wasReplaced()){const e=n._getReplacementNode();return t.replaceWith(e),e}if(void 0!==r)return t.replaceWith(r),r}}else i[c]===s&&(i[c]=o)}}};const hn=(e,t,n={})=>{const r=ln(e,t,{keyMap:n.keyMap??on,state:n.state??{},nodeTypeGetter:n.nodeTypeGetter??tn,nodePredicate:n.nodePredicate??nn,nodeCloneFn:n.nodeCloneFn??rn,detectCycles:n.detectCycles??!0,mutable:n.mutable??!1,mutationFn:n.mutationFn??sn});let s=r.next();for(;!s.done;){const e=s.value,n=e.visitFn.call(t,e.path);if(en(n))throw new a("Async visitor not supported in sync mode",{visitor:t,visitFn:e.visitFn});s=r.next(n)}return s.value},fn=async(e,t,n={})=>{const r=ln(e,t,{keyMap:n.keyMap??on,state:n.state??{},nodeTypeGetter:n.nodeTypeGetter??tn,nodePredicate:n.nodePredicate??nn,nodeCloneFn:n.nodeCloneFn??rn,detectCycles:n.detectCycles??!0,mutable:n.mutable??!1,mutationFn:n.mutationFn??sn});let s=r.next();for(;!s.done;){const e=s.value,n=await e.visitFn.call(t,e.path);s=r.next(n)}return s.value};hn[Symbol.for("nodejs.util.promisify.custom")]=fn,Je.prototype.traverse=function(e,t){return hn(this.node,e,t)},Je.prototype.traverseAsync=function(e,t){return fn(this.node,e,t)};const pn=class extends D{name="apidom";isArray(e){return Pe(e)}isObject(e){return Se(e)}sizeOf(e){return this.isArray(e)||this.isObject(e)?e.length:0}has(e,t){if(this.isArray(e)){const n=Number(t),r=n>>>0;if(n!==r)throw new U(`Invalid array index "${t}": index must be an unsinged 32-bit integer`,{referenceToken:t,currentValue:e,realm:this.name});return r<this.sizeOf(e)}if(this.isObject(e)){const n=e.keys(),r=new Set(n);if(n.length!==r.size)throw new B(`Object key "${t}" is not unique — JSON Pointer requires unique member names`,{referenceToken:t,currentValue:e,realm:this.name});return e.hasKey(t)}return!1}evaluate(e,t){return this.isArray(e)?e.get(Number(t)):e.get(t)}};const dn=X(function(e){return zt(-1,e)}),mn=(e,t,n)=>{let r,s=[],o=t;if(hn(n,{enter(e){e.node===t&&(s=e.getAncestorNodes().reverse().filter(Ae),e.stop())}}),0===s.length)throw new u("Relative JSON Pointer evaluation failed. Current element not found inside the root element",{relativePointer:e,currentElement:Ve(t),rootElement:Ve(n),cursorElement:Ve.safe(o)});if(dn(s)===n)throw new u("Relative JSON Pointer evaluation failed. Current element cannot be the root element",{relativePointer:e,currentElement:t,rootElement:n,cursorElement:o});try{r=q(e)}catch(n){throw new u("Relative JSON Pointer evaluation failed while parsing the pointer.",{relativePointer:e,currentElement:Ve(t),rootElement:Ve(t),cursorElement:Ve.safe(o),cause:n})}if(r.nonNegativeIntegerPrefix>0){const a=[...s];for(let{nonNegativeIntegerPrefix:e}=r;e>0;e-=1)o=a.pop(),Oe(o)&&(o=a.pop());if(void 0===o)throw new u(`Relative JSON Pointer evaluation failed on non-negative-integer prefix of "${r.nonNegativeIntegerPrefix}"`,{relativePointer:e,currentElement:Ve(t),rootElement:Ve(n),cursorElement:Ve.safe(o)});s=a}if("number"==typeof r.indexManipulation){const a=dn(s);if(void 0===a||!Pe(a))throw new u(`Relative JSON Pointer evaluation failed failed on index-manipulation "${r.indexManipulation}"`,{relativePointer:e,currentElement:Ve(t),rootElement:Ve(n),cursorElement:Ve.safe(o)});const i=a.content,c=i.indexOf(o);if(o=i[c+r.indexManipulation],void 0===o)throw new u(`Relative JSON Pointer evaluation failed on index-manipulation "${r.indexManipulation}"`,{relativePointer:e,currentElement:Ve(t),rootElement:Ve(n),cursorElement:Ve.safe(o)})}if(Array.isArray(r.jsonPointerTokens)){o=((e,t,n={})=>J(e,t,{...n,realm:new pn}))(o,I(r.jsonPointerTokens))}else if(r.hashCharacter){if(o===n)throw new u('Relative JSON Pointer evaluation failed. Current element cannot be the root element to apply "#"',{relativePointer:e,currentElement:Ve(t),rootElement:Ve(n),cursorElement:Ve.safe(o)});const r=dn(s);void 0!==r&&(Oe(r)?o=r.key:Pe(r)&&(o=new Be(r.content.indexOf(o))))}return o};return t})());
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.apidomJsonPointerRelative=t():e.apidomJsonPointerRelative=t()}(self,()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{CompilationRelativeJsonPointerError:()=>u,EvaluationRelativeJsonPointerError:()=>l,InvalidRelativeJsonPointerError:()=>c,RelativeJsonPointerError:()=>a,compile:()=>Y,evaluate:()=>zr,isRelativeJsonPointer:()=>X,parse:()=>J});class r extends AggregateError{constructor(e,t,r){super(e,t,r),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const n=r;class s extends Error{static[Symbol.hasInstance](e){return super[Symbol.hasInstance](e)||Function.prototype[Symbol.hasInstance].call(n,e)}constructor(e,t){super(e,t),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const o=s;const i=class extends o{constructor(e,t){if(super(e,t),null!=t&&"object"==typeof t){const{cause:e,...r}=t;Object.assign(this,r)}}};const a=class extends i{};class c extends a{relativePointer;constructor(e,t){super(e,t),void 0!==t&&(this.relativePointer=t.relativePointer)}}const l=class extends a{relativePointer;currentElement;rootElement;cursorElement;constructor(e,t){super(e,t),void 0!==t&&(this.relativePointer=t.relativePointer,this.currentElement=t.currentElement,this.rootElement=t.rootElement,this.cursorElement=t.cursorElement)}};const u=class extends a{nonNegativeIntegerPrefix;indexManipulation;jsonPointerTokens;hashCharacter;constructor(e,t){super(e,t),void 0!==t&&(this.nonNegativeIntegerPrefix=t.relativePointer.nonNegativeIntegerPrefix,this.indexManipulation=t.relativePointer.indexManipulation,this.hashCharacter=t.relativePointer.hashCharacter,Array.isArray(t.relativePointer.jsonPointerTokens)&&(this.jsonPointerTokens=[...t.relativePointer.jsonPointerTokens]))}},p=function(){const e=y,t=m,r=this,n="parser.js: Parser(): ";r.ast=void 0,r.stats=void 0,r.trace=void 0,r.callbacks=[];let s,o,i,a,c,l,u,p=0,d=0,h=0,f=0,g=0,x=new function(){this.state=e.ACTIVE,this.phraseLength=0,this.refresh=()=>{this.state=e.ACTIVE,this.phraseLength=0}};r.parse=(m,y,w,b)=>{const v=`${n}parse(): `;p=0,d=0,h=0,f=0,g=0,s=void 0,o=void 0,i=void 0,a=void 0,x.refresh(),c=void 0,l=void 0,u=void 0,a=t.stringToChars(w),s=m.rules,o=m.udts;const T=y.toLowerCase();let A;for(const e in s)if(s.hasOwnProperty(e)&&T===s[e].lower){A=s[e].index;break}if(void 0===A)throw new Error(`${v}start rule name '${startRule}' not recognized`);(()=>{const e=`${n}initializeCallbacks(): `;let t,i;for(c=[],l=[],t=0;t<s.length;t+=1)c[t]=void 0;for(t=0;t<o.length;t+=1)l[t]=void 0;const a=[];for(t=0;t<s.length;t+=1)a.push(s[t].lower);for(t=0;t<o.length;t+=1)a.push(o[t].lower);for(const n in r.callbacks)if(r.callbacks.hasOwnProperty(n)){if(t=a.indexOf(n.toLowerCase()),t<0)throw new Error(`${e}syntax callback '${n}' not a rule or udt name`);if(i=r.callbacks[n]?r.callbacks[n]:void 0,"function"!=typeof i&&void 0!==i)throw new Error(`${e}syntax callback[${n}] must be function reference or falsy)`);t<s.length?c[t]=i:l[t-s.length]=i}})(),r.trace&&r.trace.init(s,o,a),r.stats&&r.stats.init(s,o),r.ast&&r.ast.init(s,o,a),u=b,i=[{type:e.RNM,index:A}],k(0,0),i=void 0;let S=!1;switch(x.state){case e.ACTIVE:throw new Error(`${v}final state should never be 'ACTIVE'`);case e.NOMATCH:S=!1;break;case e.EMPTY:case e.MATCH:S=x.phraseLength===a.length;break;default:throw new Error("unrecognized state")}return{success:S,state:x.state,stateName:e.idName(x.state),length:a.length,matched:x.phraseLength,maxMatched:g,maxTreeDepth:h,nodeHits:f}};const w=(t,r,s,o)=>{if(r.phraseLength>s){let e=`${n}opRNM(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${r.phraseLength}`,e+=` must be <= remaining chars: ${s}`,new Error(e)}switch(r.state){case e.ACTIVE:if(!o)throw new Error(`${n}opRNM(${t.name}): callback function return error. ACTIVE state not allowed.`);break;case e.EMPTY:r.phraseLength=0;break;case e.MATCH:0===r.phraseLength&&(r.state=e.EMPTY);break;case e.NOMATCH:r.phraseLength=0;break;default:throw new Error(`${n}opRNM(${t.name}): callback function return error. Unrecognized return state: ${r.state}`)}},b=(t,c)=>{let d,h,f;const m=i[t],y=o[m.index];x.UdtIndex=y.index,p||(f=r.ast&&r.ast.udtDefined(m.index),f&&(h=s.length+m.index,d=r.ast.getLength(),r.ast.down(h,y.name)));const g=a.length-c;l[m.index](x,a,c,u),((t,r,s)=>{if(r.phraseLength>s){let e=`${n}opUDT(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${r.phraseLength}`,e+=` must be <= remaining chars: ${s}`,new Error(e)}switch(r.state){case e.ACTIVE:throw new Error(`${n}opUDT(${t.name}) ACTIVE state return not allowed.`);case e.EMPTY:if(!t.empty)throw new Error(`${n}opUDT(${t.name}) may not return EMPTY.`);r.phraseLength=0;break;case e.MATCH:if(0===r.phraseLength){if(!t.empty)throw new Error(`${n}opUDT(${t.name}) may not return EMPTY.`);r.state=e.EMPTY}break;case e.NOMATCH:r.phraseLength=0;break;default:throw new Error(`${n}opUDT(${t.name}): callback function return error. Unrecognized return state: ${r.state}`)}})(y,x,g),p||f&&(x.state===e.NOMATCH?r.ast.setLength(d):r.ast.up(h,y.name,c,x.phraseLength))},k=(t,o)=>{const l=`${n}opExecute(): `,m=i[t];switch(f+=1,d>h&&(h=d),d+=1,x.refresh(),r.trace&&r.trace.down(m,o),m.type){case e.ALT:((t,r)=>{const n=i[t];for(let t=0;t<n.children.length&&(k(n.children[t],r),x.state===e.NOMATCH);t+=1);})(t,o);break;case e.CAT:((t,n)=>{let s,o,a,c;const l=i[t];r.ast&&(o=r.ast.getLength()),s=!0,a=n,c=0;for(let t=0;t<l.children.length;t+=1){if(k(l.children[t],a),x.state===e.NOMATCH){s=!1;break}a+=x.phraseLength,c+=x.phraseLength}s?(x.state=0===c?e.EMPTY:e.MATCH,x.phraseLength=c):(x.state=e.NOMATCH,x.phraseLength=0,r.ast&&r.ast.setLength(o))})(t,o);break;case e.REP:((t,n)=>{let s,o,c,l;const u=i[t];if(0===u.max)return x.state=e.EMPTY,void(x.phraseLength=0);for(o=n,c=0,l=0,r.ast&&(s=r.ast.getLength());!(o>=a.length)&&(k(t+1,o),x.state!==e.NOMATCH)&&x.state!==e.EMPTY&&(l+=1,c+=x.phraseLength,o+=x.phraseLength,l!==u.max););x.state===e.EMPTY||l>=u.min?(x.state=0===c?e.EMPTY:e.MATCH,x.phraseLength=c):(x.state=e.NOMATCH,x.phraseLength=0,r.ast&&r.ast.setLength(s))})(t,o);break;case e.RNM:((t,n)=>{let o,l,d;const h=i[t],f=s[h.index],m=c[f.index];if(p||(l=r.ast&&r.ast.ruleDefined(h.index),l&&(o=r.ast.getLength(),r.ast.down(h.index,s[h.index].name))),m){const t=a.length-n;m(x,a,n,u),w(f,x,t,!0),x.state===e.ACTIVE&&(d=i,i=f.opcodes,k(0,n),i=d,m(x,a,n,u),w(f,x,t,!1))}else d=i,i=f.opcodes,k(0,n,x),i=d;p||l&&(x.state===e.NOMATCH?r.ast.setLength(o):r.ast.up(h.index,f.name,n,x.phraseLength))})(t,o);break;case e.TRG:((t,r)=>{const n=i[t];x.state=e.NOMATCH,r<a.length&&n.min<=a[r]&&a[r]<=n.max&&(x.state=e.MATCH,x.phraseLength=1)})(t,o);break;case e.TBS:((t,r)=>{const n=i[t],s=n.string.length;if(x.state=e.NOMATCH,r+s<=a.length){for(let e=0;e<s;e+=1)if(a[r+e]!==n.string[e])return;x.state=e.MATCH,x.phraseLength=s}})(t,o);break;case e.TLS:((t,r)=>{let n;const s=i[t];x.state=e.NOMATCH;const o=s.string.length;if(0!==o){if(r+o<=a.length){for(let e=0;e<o;e+=1)if(n=a[r+e],n>=65&&n<=90&&(n+=32),n!==s.string[e])return;x.state=e.MATCH,x.phraseLength=o}}else x.state=e.EMPTY})(t,o);break;case e.UDT:b(t,o);break;case e.AND:((t,r)=>{switch(p+=1,k(t+1,r),p-=1,x.phraseLength=0,x.state){case e.EMPTY:case e.MATCH:x.state=e.EMPTY;break;case e.NOMATCH:x.state=e.NOMATCH;break;default:throw new Error(`opAND: invalid state ${x.state}`)}})(t,o);break;case e.NOT:((t,r)=>{switch(p+=1,k(t+1,r),p-=1,x.phraseLength=0,x.state){case e.EMPTY:case e.MATCH:x.state=e.NOMATCH;break;case e.NOMATCH:x.state=e.EMPTY;break;default:throw new Error(`opNOT: invalid state ${x.state}`)}})(t,o);break;default:throw new Error(`${l}unrecognized operator`)}p||o+x.phraseLength>g&&(g=o+x.phraseLength),r.stats&&r.stats.collect(m,x),r.trace&&r.trace.up(m,x.state,o,x.phraseLength),d-=1}},d=function(){const e=y,t=m,r=this;let n,s,o,i=0;const a=[],c=[],l=[];function u(e){let t="";for(;e-- >0;)t+=" ";return t}r.callbacks=[],r.init=(e,t,u)=>{let p;c.length=0,l.length=0,i=0,n=e,s=t,o=u;const d=[];for(p=0;p<n.length;p+=1)d.push(n[p].lower);for(p=0;p<s.length;p+=1)d.push(s[p].lower);for(i=n.length+s.length,p=0;p<i;p+=1)a[p]=void 0;for(const e in r.callbacks)if(r.callbacks.hasOwnProperty(e)){const t=e.toLowerCase();if(p=d.indexOf(t),p<0)throw new Error(`parser.js: Ast()): init: node '${e}' not a rule or udt name`);a[p]=r.callbacks[e]}},r.ruleDefined=e=>!!a[e],r.udtDefined=e=>!!a[n.length+e],r.down=(t,r)=>{const n=l.length;return c.push(n),l.push({name:r,thisIndex:n,thatIndex:void 0,state:e.SEM_PRE,callbackIndex:t,phraseIndex:void 0,phraseLength:void 0,stack:c.length}),n},r.up=(t,r,n,s)=>{const o=l.length,i=c.pop();return l.push({name:r,thisIndex:o,thatIndex:i,state:e.SEM_POST,callbackIndex:t,phraseIndex:n,phraseLength:s,stack:c.length}),l[i].thatIndex=o,l[i].phraseIndex=n,l[i].phraseLength=s,o},r.translate=t=>{let r,n;for(let s=0;s<l.length;s+=1)n=l[s],r=a[n.callbackIndex],r&&(n.state===e.SEM_PRE?r(e.SEM_PRE,o,n.phraseIndex,n.phraseLength,t):r&&r(e.SEM_POST,o,n.phraseIndex,n.phraseLength,t))},r.setLength=e=>{l.length=e,c.length=e>0?l[e-1].stack:0},r.getLength=()=>l.length,r.toXml=()=>{let r="",n=0;return r+='<?xml version="1.0" encoding="utf-8"?>\n',r+=`<root nodes="${l.length/2}" characters="${o.length}">\n`,r+="\x3c!-- input string --\x3e\n",r+=u(n+2),r+=t.charsToString(o),r+="\n",l.forEach(s=>{s.state===e.SEM_PRE?(n+=1,r+=u(n),r+=`<node name="${s.name}" index="${s.phraseIndex}" length="${s.phraseLength}">\n`,r+=u(n+2),r+=t.charsToString(o,s.phraseIndex,s.phraseLength),r+="\n"):(r+=u(n),r+=`</node>\x3c!-- name="${s.name}" --\x3e\n`,n-=1)}),r+="</root>\n",r}},h=function(){const e=y,t=m,r="parser.js: Trace(): ";let n,s,o,i="",a=0;const c=this,l=e=>{let t="",r=0;if(e>=0)for(;e--;)r+=1,5===r?(t+="|",r=0):t+=".";return t};c.init=(e,t,r)=>{s=e,o=t,n=r};const u=n=>{let i;switch(n.type){case e.ALT:i="ALT";break;case e.CAT:i="CAT";break;case e.REP:i=n.max===1/0?`REP(${n.min},inf)`:`REP(${n.min},${n.max})`;break;case e.RNM:i=`RNM(${s[n.index].name})`;break;case e.TRG:i=`TRG(${n.min},${n.max})`;break;case e.TBS:i=n.string.length>6?`TBS(${t.charsToString(n.string,0,3)}...)`:`TBS(${t.charsToString(n.string,0,6)})`;break;case e.TLS:i=n.string.length>6?`TLS(${t.charsToString(n.string,0,3)}...)`:`TLS(${t.charsToString(n.string,0,6)})`;break;case e.UDT:i=`UDT(${o[n.index].name})`;break;case e.AND:i="AND";break;case e.NOT:i="NOT";break;default:throw new Error(`${r}Trace: opName: unrecognized opcode`)}return i};c.down=(e,r)=>{const s=l(a),o=Math.min(100,n.length-r);let c=t.charsToString(n,r,o);o<n.length-r&&(c+="..."),c=`${s}|-|[${u(e)}]${c}\n`,i+=c,a+=1},c.up=(s,o,c,p)=>{const d=`${r}trace.up: `;a-=1;const h=l(a);let f,m,y;switch(o){case e.EMPTY:y="|E|",m="''";break;case e.MATCH:y="|M|",f=Math.min(100,p),m=f<p?`'${t.charsToString(n,c,f)}...'`:`'${t.charsToString(n,c,f)}'`;break;case e.NOMATCH:y="|N|",m="";break;default:throw new Error(`${d} unrecognized state`)}m=`${h}${y}[${u(s)}]${m}\n`,i+=m},c.displayTrace=()=>i},f=function(){const e=y;let t,r,n;const s=[],o=[],i=[];this.init=(e,n)=>{t=e,r=n,d()},this.collect=(t,r)=>{h(n,r.state,r.phraseLength),h(s[t.type],r.state,r.phraseLength),t.type===e.RNM&&h(o[t.index],r.state,r.phraseLength),t.type===e.UDT&&h(i[t.index],r.state,r.phraseLength)},this.displayStats=()=>{let t="";const r={match:0,empty:0,nomatch:0,total:0},n=(e,t,n,s,o)=>{r.match+=t,r.empty+=n,r.nomatch+=s,r.total+=o;return`${e} | ${a(t)} | ${a(n)} | ${a(s)} | ${a(o)} |\n`};return t+=" OPERATOR STATS\n",t+=" | MATCH | EMPTY | NOMATCH | TOTAL |\n",t+=n(" ALT",s[e.ALT].match,s[e.ALT].empty,s[e.ALT].nomatch,s[e.ALT].total),t+=n(" CAT",s[e.CAT].match,s[e.CAT].empty,s[e.CAT].nomatch,s[e.CAT].total),t+=n(" REP",s[e.REP].match,s[e.REP].empty,s[e.REP].nomatch,s[e.REP].total),t+=n(" RNM",s[e.RNM].match,s[e.RNM].empty,s[e.RNM].nomatch,s[e.RNM].total),t+=n(" TRG",s[e.TRG].match,s[e.TRG].empty,s[e.TRG].nomatch,s[e.TRG].total),t+=n(" TBS",s[e.TBS].match,s[e.TBS].empty,s[e.TBS].nomatch,s[e.TBS].total),t+=n(" TLS",s[e.TLS].match,s[e.TLS].empty,s[e.TLS].nomatch,s[e.TLS].total),t+=n(" UDT",s[e.UDT].match,s[e.UDT].empty,s[e.UDT].nomatch,s[e.UDT].total),t+=n(" AND",s[e.AND].match,s[e.AND].empty,s[e.AND].nomatch,s[e.AND].total),t+=n(" NOT",s[e.NOT].match,s[e.NOT].empty,s[e.NOT].nomatch,s[e.NOT].total),t+=n("TOTAL",r.match,r.empty,r.nomatch,r.total),t},this.displayHits=e=>{let t="";const r=(e,t,r,s,o)=>{n.match+=e,n.empty+=t,n.nomatch+=r,n.total+=s;return`| ${a(e)} | ${a(t)} | ${a(r)} | ${a(s)} | ${o}\n`};"string"==typeof e&&"a"===e.toLowerCase()[0]?(o.sort(c),i.sort(c),t+=" RULES/UDTS ALPHABETICALLY\n"):"string"==typeof e&&"i"===e.toLowerCase()[0]?(o.sort(u),i.sort(u),t+=" RULES/UDTS BY INDEX\n"):(o.sort(l),i.sort(l),t+=" RULES/UDTS BY HIT COUNT\n"),t+="| MATCH | EMPTY | NOMATCH | TOTAL | NAME\n";for(let e=0;e<o.length;e+=1){let n=o[e];n.total&&(t+=r(n.match,n.empty,n.nomatch,n.total,n.name))}for(let e=0;e<i.length;e+=1){let n=i[e];n.total&&(t+=r(n.match,n.empty,n.nomatch,n.total,n.name))}return t};const a=e=>e<10?` ${e}`:e<100?` ${e}`:e<1e3?` ${e}`:e<1e4?` ${e}`:e<1e5?` ${e}`:e<1e6?` ${e}`:`${e}`,c=(e,t)=>e.lower<t.lower?-1:e.lower>t.lower?1:0,l=(e,t)=>e.total<t.total?1:e.total>t.total?-1:c(e,t),u=(e,t)=>e.index<t.index?-1:e.index>t.index?1:0,p=function(){this.empty=0,this.match=0,this.nomatch=0,this.total=0},d=()=>{s.length=0,n=new p,s[e.ALT]=new p,s[e.CAT]=new p,s[e.REP]=new p,s[e.RNM]=new p,s[e.TRG]=new p,s[e.TBS]=new p,s[e.TLS]=new p,s[e.UDT]=new p,s[e.AND]=new p,s[e.NOT]=new p,o.length=0;for(let e=0;e<t.length;e+=1)o.push({empty:0,match:0,nomatch:0,total:0,name:t[e].name,lower:t[e].lower,index:t[e].index});if(r.length>0){i.length=0;for(let e=0;e<r.length;e+=1)i.push({empty:0,match:0,nomatch:0,total:0,name:r[e].name,lower:r[e].lower,index:r[e].index})}},h=(t,r)=>{switch(t.total+=1,r){case e.EMPTY:t.empty+=1;break;case e.MATCH:t.match+=1;break;case e.NOMATCH:t.nomatch+=1;break;default:throw new Error(`parser.js: Stats(): collect(): incStat(): unrecognized state: ${r}`)}}},m={stringToChars:e=>[...e].map(e=>e.codePointAt(0)),charsToString:(e,t,r)=>{let n=e;for(;!(void 0===t||t<0);){if(void 0===r){n=e.slice(t);break}if(r<=0)return"";n=e.slice(t,t+r);break}return String.fromCodePoint(...n)}},y={ALT:1,CAT:2,REP:3,RNM:4,TRG:5,TBS:6,TLS:7,UDT:11,AND:12,NOT:13,ACTIVE:100,MATCH:101,EMPTY:102,NOMATCH:103,SEM_PRE:200,SEM_POST:201,SEM_OK:300,idName:e=>{switch(e){case y.ALT:return"ALT";case y.CAT:return"CAT";case y.REP:return"REP";case y.RNM:return"RNM";case y.TRG:return"TRG";case y.TBS:return"TBS";case y.TLS:return"TLS";case y.UDT:return"UDT";case y.AND:return"AND";case y.NOT:return"NOT";case y.ACTIVE:return"ACTIVE";case y.EMPTY:return"EMPTY";case y.MATCH:return"MATCH";case y.NOMATCH:return"NOMATCH";case y.SEM_PRE:return"SEM_PRE";case y.SEM_POST:return"SEM_POST";case y.SEM_OK:return"SEM_OK";default:return"UNRECOGNIZED STATE"}}};function g(){this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"json-pointer",lower:"json-pointer",index:0,isBkr:!1},this.rules[1]={name:"reference-token",lower:"reference-token",index:1,isBkr:!1},this.rules[2]={name:"unescaped",lower:"unescaped",index:2,isBkr:!1},this.rules[3]={name:"escaped",lower:"escaped",index:3,isBkr:!1},this.rules[4]={name:"array-location",lower:"array-location",index:4,isBkr:!1},this.rules[5]={name:"array-index",lower:"array-index",index:5,isBkr:!1},this.rules[6]={name:"array-dash",lower:"array-dash",index:6,isBkr:!1},this.rules[7]={name:"slash",lower:"slash",index:7,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:3,min:0,max:1/0},this.rules[0].opcodes[1]={type:2,children:[2,3]},this.rules[0].opcodes[2]={type:4,index:7},this.rules[0].opcodes[3]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:0,max:1/0},this.rules[1].opcodes[1]={type:1,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:2},this.rules[1].opcodes[3]={type:4,index:3},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:1,children:[1,2,3]},this.rules[2].opcodes[1]={type:5,min:0,max:46},this.rules[2].opcodes[2]={type:5,min:48,max:125},this.rules[2].opcodes[3]={type:5,min:127,max:1114111},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:2,children:[1,2]},this.rules[3].opcodes[1]={type:7,string:[126]},this.rules[3].opcodes[2]={type:1,children:[3,4]},this.rules[3].opcodes[3]={type:7,string:[48]},this.rules[3].opcodes[4]={type:7,string:[49]},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:4,index:5},this.rules[4].opcodes[2]={type:4,index:6},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2]},this.rules[5].opcodes[1]={type:6,string:[48]},this.rules[5].opcodes[2]={type:2,children:[3,4]},this.rules[5].opcodes[3]={type:5,min:49,max:57},this.rules[5].opcodes[4]={type:3,min:0,max:1/0},this.rules[5].opcodes[5]={type:5,min:48,max:57},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:7,string:[45]},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:7,string:[47]},this.toString=function(){let e="";return e+="; JavaScript Object Notation (JSON) Pointer ABNF syntax\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901\n",e+="json-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\n",e+="reference-token = *( unescaped / escaped )\n",e+="unescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n",e+=" ; %x2F ('/') and %x7E ('~') are excluded from 'unescaped'\n",e+='escaped = "~" ( "0" / "1" )\n',e+=" ; representing '~' and '/', respectively\n",e+="\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901#section-4\n",e+="array-location = array-index / array-dash\n",e+="array-index = %x30 / ( %x31-39 *(%x30-39) )\n",e+=' ; "0", or digits without a leading "0"\n',e+='array-dash = "-"\n',e+="\n",e+="; Surrogate named rules\n",e+='slash = "/"\n','; JavaScript Object Notation (JSON) Pointer ABNF syntax\n; https://datatracker.ietf.org/doc/html/rfc6901\njson-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\nreference-token = *( unescaped / escaped )\nunescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n ; %x2F (\'/\') and %x7E (\'~\') are excluded from \'unescaped\'\nescaped = "~" ( "0" / "1" )\n ; representing \'~\' and \'/\', respectively\n\n; https://datatracker.ietf.org/doc/html/rfc6901#section-4\narray-location = array-index / array-dash\narray-index = %x30 / ( %x31-39 *(%x30-39) )\n ; "0", or digits without a leading "0"\narray-dash = "-"\n\n; Surrogate named rules\nslash = "/"\n'}}class x extends Error{constructor(e,t=void 0){if(super(e,t),this.name=this.constructor.name,"string"==typeof e&&(this.message=e),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack,null!=t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"cause")&&!("cause"in this)){const{cause:e}=t;this.cause=e,e instanceof Error&&"stack"in e&&(this.stack=`${this.stack}\nCAUSE: ${e.stack}`)}if(null!=t&&"object"==typeof t){const{cause:e,...r}=t;Object.assign(this,r)}}}const w=x;const b=class extends w{},k=e=>(t,r,n,s,o)=>{if("object"!=typeof o||null===o||Array.isArray(o))throw new b("parser's user data must be an object");if(t===y.SEM_PRE){const t={type:e,text:m.charsToString(r,n,s),start:n,length:s,children:[]};if(o.stack.length>0){o.stack[o.stack.length-1].children.push(t)}else o.root=t;o.stack.push(t)}t===y.SEM_POST&&o.stack.pop()};const v=class extends d{constructor(){super(),this.callbacks["json-pointer"]=k("json-pointer"),this.callbacks["reference-token"]=k("reference-token"),this.callbacks.slash=k("text")}getTree(){const e={stack:[],root:null};return this.translate(e),delete e.stack,e}},T=e=>{if("string"!=typeof e)throw new TypeError("Reference token must be a string");return e.replace(/~1/g,"/").replace(/~0/g,"~")};const A=class extends v{getTree(){const{root:e}=super.getTree();return e.children.filter(({type:e})=>"reference-token"===e).map(({text:e})=>T(e))}};const S=class extends Array{toString(){return this.map(e=>`"${String(e)}"`).join(", ")}};const E=class extends h{inferExpectations(){const e=this.displayTrace().split("\n"),t=new Set;let r=-1;for(let n=0;n<e.length;n++){const s=e[n];if(s.includes("M|")){const e=s.match(/]'(.*)'$/);e&&e[1]&&(r=n)}if(n>r){const e=s.match(/N\|\[TLS\(([^)]+)\)]/);e&&t.add(e[1])}}return new S(...t)}},O=new g,I=(e,{translator:t=new A,stats:r=!1,trace:n=!1}={})=>{if("string"!=typeof e)throw new TypeError("JSON Pointer must be a string");try{const s=new p;t&&(s.ast=t),r&&(s.stats=new f),n&&(s.trace=new E);const o=s.parse(O,"json-pointer",e);return{result:o,tree:o.success&&t?s.ast.getTree():void 0,stats:s.stats,trace:s.trace}}catch(t){throw new b("Unexpected error during JSON Pointer parsing",{cause:t,jsonPointer:e})}};new g,new p,new g,new p;const C=new g,P=new p,M=e=>{if("string"!=typeof e)return!1;try{return P.parse(C,"array-index",e).success}catch{return!1}},N=new g,j=new p,F=e=>{if("string"!=typeof e)return!1;try{return j.parse(N,"array-dash",e).success}catch{return!1}},D=e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return String(e).replace(/~/g,"~0").replace(/\//g,"~1")};const L=class extends w{},B=e=>{if(!Array.isArray(e))throw new TypeError("Reference tokens must be a list of strings or numbers");try{return 0===e.length?"":`/${e.map(e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return D(String(e))}).join("/")}`}catch(t){throw new L("Unexpected error during JSON Pointer compilation",{cause:t,referenceTokens:e})}};const $=class{#e;#t;#r;constructor(e,t={}){this.#e=e,this.#e.steps=[],this.#e.failed=!1,this.#e.failedAt=-1,this.#e.message=`JSON Pointer "${t.jsonPointer}" was successfully evaluated against the provided value`,this.#e.context={...t,realm:t.realm.name},this.#t=[],this.#r=t.realm}step({referenceToken:e,input:t,output:r,success:n=!0,reason:s}){const o=this.#t.length;this.#t.push(e);const i={referenceToken:e,referenceTokenPosition:o,input:t,inputType:this.#r.isObject(t)?"object":this.#r.isArray(t)?"array":"unrecognized",output:r,success:n};s&&(i.reason=s),this.#e.steps.push(i),n||(this.#e.failed=!0,this.#e.failedAt=o,this.#e.message=s)}};const q=class{name="";isArray(e){throw new w("Realm.isArray(node) must be implemented in a subclass")}isObject(e){throw new w("Realm.isObject(node) must be implemented in a subclass")}sizeOf(e){throw new w("Realm.sizeOf(node) must be implemented in a subclass")}has(e,t){throw new w("Realm.has(node) must be implemented in a subclass")}evaluate(e,t){throw new w("Realm.evaluate(node) must be implemented in a subclass")}};const _=class extends w{};const R=class extends _{};const U=class extends q{name="json";isArray(e){return Array.isArray(e)}isObject(e){return"object"==typeof e&&null!==e&&!this.isArray(e)}sizeOf(e){return this.isArray(e)?e.length:this.isObject(e)?Object.keys(e).length:0}has(e,t){if(this.isArray(e)){const r=Number(t),n=r>>>0;if(r!==n)throw new R(`Invalid array index "${t}": index must be an unsinged 32-bit integer`,{referenceToken:t,currentValue:e,realm:this.name});return n<this.sizeOf(e)&&Object.prototype.hasOwnProperty.call(e,r)}return!!this.isObject(e)&&Object.prototype.hasOwnProperty.call(e,t)}evaluate(e,t){return this.isArray(e)?e[Number(t)]:e[t]}};const H=class extends _{};const G=class extends _{},z=(e,t,{strictArrays:r=!0,strictObjects:n=!0,realm:s=new U,trace:o=!0}={})=>{const{result:i,tree:a,trace:c}=I(t,{trace:!!o}),l="object"==typeof o&&null!==o?new $(o,{jsonPointer:t,referenceTokens:a,strictArrays:r,strictObjects:n,realm:s,value:e}):null;try{let o;if(!i.success){let r=`Invalid JSON Pointer: "${t}". Syntax error at position ${i.maxMatched}`;throw r+=c?`, expected ${c.inferExpectations()}`:"",new _(r,{jsonPointer:t,currentValue:e,realm:s.name})}return a.reduce((e,i,c)=>{if(s.isArray(e)){if(F(i)){if(r)throw new R(`Invalid array index "-" at position ${c} in "${t}". The "-" token always refers to a nonexistent element during evaluation`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,String(s.sizeOf(e))),null==l||l.step({referenceToken:i,input:e,output:o}),o}if(!M(i))throw new R(`Invalid array index "${i}" at position ${c} in "${t}": index MUST be "0", or digits without a leading "0"`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name});const n=Number(i);if(!Number.isSafeInteger(n))throw new R(`Invalid array index "${i}" at position ${c} in "${t}": index must be a safe integer`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name});if(!s.has(e,i)&&r)throw new R(`Invalid array index "${i}" at position ${c} in "${t}": index not found in array`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,i),null==l||l.step({referenceToken:i,input:e,output:o}),o}if(s.isObject(e)){if(!s.has(e,i)&&n)throw new G(`Invalid object key "${i}" at position ${c} in "${t}": key not found in object`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,i),null==l||l.step({referenceToken:i,input:e,output:o}),o}throw new H(`Invalid reference token "${i}" at position ${c} in "${t}": cannot be applied to a non-object/non-array value`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name})},e)}catch(e){if(null==l||l.step({referenceToken:e.referenceToken,input:e.currentValue,success:!1,reason:e.message}),e instanceof _)throw e;throw new _("Unexpected error during JSON Pointer evaluation",{cause:e,jsonPointer:t,referenceTokens:a})}};const V=new RegExp("^(?<nonNegativeIntegerPrefix>[1-9]\\d*|0)(?<indexManipulation>[+-][1-9]\\d*|0)?((?<hashCharacter>#)|(?<jsonPointer>\\/.*))?$"),X=e=>"string"==typeof e&&V.test(e),J=e=>{const t=e.match(V);if(null===t||void 0===t.groups)throw new c(`Invalid Relative JSON Pointer "${e}".`,{relativePointer:e});try{const e=parseInt(t.groups.nonNegativeIntegerPrefix,10),r="string"==typeof t.groups.indexManipulation?parseInt(t.groups.indexManipulation,10):void 0,n="string"==typeof t.groups.jsonPointer?I(t.groups.jsonPointer).tree:void 0;return{nonNegativeIntegerPrefix:e,indexManipulation:r,jsonPointerTokens:n,hashCharacter:"string"==typeof t.groups.hashCharacter}}catch(t){throw new c(`Relative JSON Pointer parsing of "${e}" encountered an error.`,{relativePointer:e,cause:t})}},Y=e=>{try{let t="";return t+=String(e.nonNegativeIntegerPrefix),"number"==typeof e.indexManipulation&&(t+=String(e.indexManipulation)),Array.isArray(e.jsonPointerTokens)?t+=B(e.jsonPointerTokens):e.hashCharacter&&(t+="#"),t}catch(t){throw new u("Relative JSON Pointer compilation encountered an error.",{relativePointer:e,cause:t})}};function W(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function K(e){return function t(r){return 0===arguments.length||W(r)?t:e.apply(this,arguments)}}function Q(e){return function t(r,n){switch(arguments.length){case 0:return t;case 1:return W(r)?t:K(function(t){return e(r,t)});default:return W(r)&&W(n)?t:W(r)?K(function(t){return e(t,n)}):W(n)?K(function(t){return e(r,t)}):e(r,n)}}}function Z(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}function ee(e,t,r){for(var n=0,s=r.length;n<s;){if(e(t,r[n]))return!0;n+=1}return!1}function te(e,t){return Object.prototype.hasOwnProperty.call(t,e)}const re="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};var ne=Object.prototype.toString;const se=function(){return"[object Arguments]"===ne.call(arguments)?function(e){return"[object Arguments]"===ne.call(e)}:function(e){return te("callee",e)}}();var oe=!{toString:null}.propertyIsEnumerable("toString"),ie=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],ae=function(){return arguments.propertyIsEnumerable("length")}(),ce=function(e,t){for(var r=0;r<e.length;){if(e[r]===t)return!0;r+=1}return!1},le="function"!=typeof Object.keys||ae?K(function(e){if(Object(e)!==e)return[];var t,r,n=[],s=ae&&se(e);for(t in e)!te(t,e)||s&&"length"===t||(n[n.length]=t);if(oe)for(r=ie.length-1;r>=0;)te(t=ie[r],e)&&!ce(n,t)&&(n[n.length]=t),r-=1;return n}):K(function(e){return Object(e)!==e?[]:Object.keys(e)});const ue=le;const pe=K(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function de(e,t,r,n){var s=Z(e);function o(e,t){return he(e,t,r.slice(),n.slice())}return!ee(function(e,t){return!ee(o,t,e)},Z(t),s)}function he(e,t,r,n){if(re(e,t))return!0;var s=pe(e);if(s!==pe(t))return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(s){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!re(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!re(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var o=r.length-1;o>=0;){if(r[o]===e)return n[o]===t;o-=1}switch(s){case"Map":return e.size===t.size&&de(e.entries(),t.entries(),r.concat([e]),n.concat([t]));case"Set":return e.size===t.size&&de(e.values(),t.values(),r.concat([e]),n.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var i=ue(e);if(i.length!==ue(t).length)return!1;var a=r.concat([e]),c=n.concat([t]);for(o=i.length-1;o>=0;){var l=i[o];if(!te(l,t)||!he(t[l],e[l],a,c))return!1;o-=1}return!0}const fe=Q(function(e,t){return he(e,t,[],[])});const me=class{key;value;constructor(e,t){this.key=e,this.value=t}toValue(){return{key:this.key?.toValue(),value:this.value?.toValue()}}};class ye{elements;constructor(e){this.elements=e??[]}toValue(){return this.elements.map(e=>({key:e.key?.toValue(),value:e.value?.toValue()}))}map(e,t){return this.elements.map(r=>{const n=r.value,s=r.key;if(void 0===n||void 0===s)throw new Error("MemberElement must have both key and value");return void 0!==t?e.call(t,n,s,r):e(n,s,r)})}filter(e,t){const r=this.elements.filter(r=>{const n=r.value,s=r.key;return void 0!==n&&void 0!==s&&(void 0!==t?e.call(t,n,s,r):e(n,s,r))});return new ye(r)}reject(e,t){const r=[];for(const n of this.elements){const s=n.value,o=n.key;void 0!==s&&void 0!==o&&(e.call(t,s,o,n)||r.push(n))}return new ye(r)}forEach(e,t){this.elements.forEach((r,n)=>{const s=r.value,o=r.key;void 0!==s&&void 0!==o&&(void 0!==t?e.call(t,s,o,r,n):e(s,o,r,n))})}find(e,t){return this.elements.find(r=>{const n=r.value,s=r.key;return void 0!==n&&void 0!==s&&(void 0!==t?e.call(t,n,s,r):e(n,s,r))})}keys(){return this.elements.map(e=>e.key?.toValue()).filter(e=>void 0!==e)}values(){return this.elements.map(e=>e.value?.toValue()).filter(e=>void 0!==e)}get length(){return this.elements.length}get isEmpty(){return 0===this.length}get first(){return this.elements[0]}get(e){return this.elements[e]}push(e){return this.elements.push(e),this}includesKey(e){return this.elements.some(t=>t.key?.equals(e))}[Symbol.iterator](){return this.elements[Symbol.iterator]()}}const ge=ye;class xe{parent;startLine;startCharacter;startOffset;endLine;endCharacter;endOffset;_storedElement="element";_content;_meta;_attributes;constructor(e,t,r){void 0!==t&&(this.meta=t),void 0!==r&&(this.attributes=r),void 0!==e&&(this.content=e)}get element(){return this._storedElement}set element(e){this._storedElement=e}get content(){return this._content}set content(e){if(e instanceof xe)this._content=e;else if(null!=e&&"string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e&&"bigint"!=typeof e&&"symbol"!=typeof e)if(e instanceof me)this._content=e;else if(e instanceof ge)this._content=e.elements;else if(Array.isArray(e))this._content=e.map(e=>this.refract(e));else{if("object"!=typeof e)throw new Error("Cannot set content to value of type "+typeof e);this._content=Object.entries(e).map(([e,t])=>new this.MemberElement(e,t))}else this._content=e}get meta(){if(!this._meta){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._meta=new this.ObjectElement}return this._meta}set meta(e){e instanceof xe?this._meta=e:this.meta.set(e??{})}get attributes(){if(!this._attributes){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._attributes=new this.ObjectElement}return this._attributes}set attributes(e){e instanceof xe?this._attributes=e:this.attributes.set(e??{})}get id(){return this.getMetaProperty("id","")}set id(e){this.setMetaProperty("id",e)}get classes(){return this.getMetaProperty("classes",[])}set classes(e){this.setMetaProperty("classes",e)}get links(){return this.getMetaProperty("links",[])}set links(e){this.setMetaProperty("links",e)}get children(){const{_content:e}=this;if(Array.isArray(e))return e;if(e instanceof me){const t=[];return e.key&&t.push(e.key),e.value&&t.push(e.value),t}return e instanceof xe?[e]:[]}get isFrozen(){return Object.isFrozen(this)}freeze(){if(!this.isFrozen){this._meta&&(this._meta.parent=this,this._meta.freeze()),this._attributes&&(this._attributes.parent=this,this._attributes.freeze());for(const e of this.children)e.parent=this,e.freeze();Array.isArray(this._content)&&Object.freeze(this._content),Object.freeze(this)}}toValue(){const{_content:e}=this;return e instanceof xe||e instanceof me?e.toValue():Array.isArray(e)?e.map(e=>e.toValue()):e}equals(e){const t=e instanceof xe?e.toValue():e;return fe(this.toValue(),t)}primitive(){}set(e){return this.content=e,this}toRef(e){const t=this.id.toValue();if(""===t)throw new Error("Cannot create reference to an element without an ID");const r=new this.RefElement(t);return"string"==typeof e&&(r.path=this.refract(e)),r}getMetaProperty(e,t){if(!this.meta.hasKey(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.meta.set(e,t)}return this.meta.get(e)}setMetaProperty(e,t){this.meta.set(e,t)}hasMetaProperty(e){return!this.isMetaEmpty&&this.meta.hasKey(e)}get isMetaEmpty(){return void 0===this._meta||this.meta.isEmpty}getAttributesProperty(e,t){if(!this.hasAttributesProperty(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.attributes.set(e,t)}return this.attributes.get(e)}setAttributesProperty(e,t){this.attributes.set(e,t)}hasAttributesProperty(e){return!this.isAttributesEmpty&&this.attributes.hasKey(e)}get isAttributesEmpty(){return void 0===this._attributes||this.attributes.isEmpty}}const we=xe;class be extends we{constructor(e,t,r){super(e||[],t,r)}get length(){return this._content.length}get isEmpty(){return 0===this.length}get first(){return this._content[0]}get second(){return this._content[1]}get last(){return this._content.at(-1)}push(...e){for(const t of e)this._content.push(this.refract(t));return this}shift(){return this._content.shift()}unshift(e){this._content.unshift(this.refract(e))}includes(e){return this._content.some(t=>t.equals(e))}findElements(e,t){const r=t||{},n=!!r.recursive,s=void 0===r.results?[]:r.results;for(let t=0;t<this._content.length;t+=1){const r=this._content[t],o=r;n&&"function"==typeof o.findElements&&o.findElements(e,{results:s,recursive:n}),e(r,t,void 0)&&s.push(r)}return s}find(e){const t=this.findElements(e,{recursive:!0});return new this.ArrayElement(t)}findByElement(e){return this.find(t=>t.element===e)}findByClass(e){return this.find(t=>{const r=t.classes;return"function"==typeof r.includes&&r.includes(e)})}getById(e){return this.find(t=>t.id.toValue()===e).first}concat(e){return new(0,this.constructor)(this._content.concat(e._content))}[Symbol.iterator](){return this._content[Symbol.iterator]()}}const ke=be;const ve=class extends ke{constructor(e,t,r){super(e||[],t,r),this.element="array"}primitive(){return"array"}get(e){return this._content[e]}getValue(e){const t=this.get(e);if(t)return t.toValue()}set(e,t){return"number"==typeof e&&void 0!==t?this._content[e]=this.refract(t):this.content=e,this}remove(e){return this._content.splice(e,1)[0]??null}map(e,t){return this._content.map(e,t)}flatMap(e,t){return this._content.flatMap(e,t)}compactMap(e,t){const r=[];for(const n of this._content){const s=e.call(t,n);s&&r.push(s)}return r}filter(e,t){const r=this._content.filter(e,t);return new this.constructor(r)}reject(e,t){const r=[];for(const n of this._content)e.call(t,n)||r.push(n);return new this.constructor(r)}reduce(e,t){let r,n;void 0!==t?(r=0,n=this.refract(t)):(r=1,n=this.first);for(let t=r;t<this.length;t+=1){const r=e(n,this._content[t],t,this);n=void 0===r?r:this.refract(r)}return n}forEach(e,t){this._content.forEach((r,n)=>{e.call(t,r,n)})}empty(){return new this.constructor([])}};const Te=class extends we{constructor(e,t,r,n){super(new me,r,n),this.element="member",void 0!==e&&(this.key=e),arguments.length>=2&&(this.value=t)}primitive(){return"member"}get key(){return this._content.key}set key(e){this._content.key=this.refract(e)}get value(){return this._content.value}set value(e){this._content.value=void 0===e?void 0:this.refract(e)}};const Ae=class extends ke{constructor(e,t,r){super(e||[],t,r),this.element="object"}primitive(){return"object"}toValue(){return this._content.reduce((e,t)=>(e[t.key.toValue()]=t.value?t.value.toValue():void 0,e),{})}get(e){const t=this.getMember(e);if(t)return t.value}getValue(e){const t=this.get(e);if(t)return t.toValue()}getMember(e){if(void 0!==e)return this._content.find(t=>t.key.toValue()===e)}remove(e){let t=null;return this.content=this._content.filter(r=>r.key.toValue()!==e||(t=r,!1)),t}getKey(e){const t=this.getMember(e);if(t)return t.key}set(e,t){if("string"==typeof e){const r=this.getMember(e);r?r.value=t:this._content.push(new Te(e,t))}else if("object"==typeof e&&!Array.isArray(e))for(const t of Object.keys(e))this.set(t,e[t]);return this}keys(){return this._content.map(e=>e.key.toValue())}values(){return this._content.map(e=>e.value.toValue())}hasKey(e){return this._content.some(t=>t.key.equals(e))}items(){return this._content.map(e=>[e.key.toValue(),e.value.toValue()])}map(e,t){return this._content.map(r=>e.call(t,r.value,r.key,r))}compactMap(e,t){const r=[];return this.forEach((n,s,o)=>{const i=e.call(t,n,s,o);i&&r.push(i)}),r}filter(e,t){return new ge(this._content).filter(e,t)}reject(e,t){const r=[];for(const n of this._content)e.call(t,n.value,n.key,n)||r.push(n);return new ge(r)}forEach(e,t){this._content.forEach(r=>e.call(t,r.value,r.key,r))}reduce(e,t){let r,n;void 0!==t?(r=0,n=this.refract(t)):(r=1,n=this._content[0]?.value);for(let t=r;t<this._content.length;t+=1){const r=this._content[t],s=e(n,r.value,r.key,r,this);n=void 0===s?s:this.refract(s)}return n}empty(){return new this.constructor([])}},Se=e=>e instanceof we,Ee=e=>e instanceof ve,Oe=e=>e instanceof Ae,Ie=e=>e instanceof Te;const Ce=class extends we{constructor(e,t,r){super(e,t,r),this.element="string"}primitive(){return"string"}get length(){return this.content?.length??0}};class Pe extends Ce{constructor(e,t,r){super(e,t,r),this.element="sourceMap"}static transfer(e,t){t.startLine=e.startLine,t.startCharacter=e.startCharacter,t.startOffset=e.startOffset,t.endLine=e.endLine,t.endCharacter=e.endCharacter,t.endOffset=e.endOffset}static from(e){const{startLine:t,startCharacter:r,startOffset:n,endLine:s,endCharacter:o,endOffset:i}=e;if("number"!=typeof t||"number"!=typeof r||"number"!=typeof n||"number"!=typeof s||"number"!=typeof o||"number"!=typeof i)return;const a="sm1:"+[t,r,n,s,o,i].map(Ne).join("");const c=new Pe(a);return c.startLine=t,c.startCharacter=r,c.startOffset=n,c.endLine=s,c.endCharacter=o,c.endOffset=i,c}applyTo(e){this.content&&([e.startLine,e.startCharacter,e.startOffset,e.endLine,e.endCharacter,e.endOffset]=function(e){const t=e.startsWith("sm1:")?e.slice(4):e,r=[];let n=0;for(let e=0;e<6;e++){const e=je(t,n);r.push(e.value),n=e.next}return r}(this.content))}}const Me="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Ne(e){let t=e>>>0,r="";do{let e=31&t;t>>>=5,0!==t&&(e|=32),r+=Me[e]}while(0!==t);return r}function je(e,t=0){let r=0,n=0,s=t;for(;;){const t=e[s++],o=Me.indexOf(t);if(-1===o)throw new Error(`Invalid Base64 VLQ char: ${t}`);if(r|=(31&o)<<n,n+=5,!!!(32&o))break}return{value:r>>>0,next:s}}const Fe=Pe;const De=class extends i{value;constructor(e,t){super(e,t),void 0!==t&&(this.value=t.value)}};const Le=class extends De{};const Be=class extends De{},$e=(e,t)=>{const{visited:r=new WeakMap}=t,n={...t,visited:r};if(r.has(e))return r.get(e);const s=Ue(e);r.set(e,s);const{content:o}=e;return Array.isArray(o)?s.content=o.map(e=>$e(e,n)):Se(o)?s.content=$e(o,n):s.content=o instanceof me?qe(o,n):o,s},qe=(e,t)=>{const{visited:r=new WeakMap}=t,n={...t,visited:r};if(r.has(e))return r.get(e);const{key:s,value:o}=e,i=void 0!==s?$e(s,n):void 0,a=void 0!==o?$e(o,n):void 0,c=new me(i,a);return r.set(e,c),c},_e=(e,t={})=>{if(e instanceof me)return qe(e,t);if(e instanceof ge)return((e,t)=>{const{visited:r=new WeakMap}=t,n={...t,visited:r};if(r.has(e))return r.get(e);const s=[...e].map(e=>$e(e,n)),o=new ge(s);return r.set(e,o),o})(e,t);if(Se(e))return $e(e,t);throw new Le("Value provided to cloneDeep function couldn't be cloned",{value:e})};_e.safe=e=>{try{return _e(e)}catch{return e}};const Re=e=>{const{key:t,value:r}=e;return new me(t,r)},Ue=e=>{const t=new(0,e.constructor);t.element=e.element,e.isMetaEmpty||(t.meta=_e(e.meta)),e.isAttributesEmpty||(t.attributes=_e(e.attributes)),(e=>"number"==typeof e.startLine&&"number"==typeof e.startCharacter&&"number"==typeof e.startOffset&&"number"==typeof e.endLine&&"number"==typeof e.endCharacter&&"number"==typeof e.endOffset)(e)&&Fe.transfer(e,t);const{content:r}=e;return Se(r)?t.content=Ue(r):Array.isArray(r)?t.content=[...r]:t.content=r instanceof me?Re(r):r,t},He=e=>{if(e instanceof me)return Re(e);if(e instanceof ge)return(e=>{const t=[...e];return new ge(t)})(e);if(Se(e))return Ue(e);throw new Be("Value provided to cloneShallow function couldn't be cloned",{value:e})};He.safe=e=>{try{return He(e)}catch{return e}};const Ge=class extends we{constructor(e,t,r){super(e,t,r),this.element="number"}primitive(){return"number"}};class ze extends Error{constructor(e,t=void 0){if(super(e,t),this.name=this.constructor.name,"string"==typeof e&&(this.message=e),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack,null!=t&&"object"==typeof t&&Object.hasOwn(t,"cause")&&!("cause"in this)){const{cause:e}=t;this.cause=e,e instanceof Error&&"stack"in e&&(this.stack=`${this.stack}\nCAUSE: ${e.stack}`)}if(null!=t&&"object"==typeof t){const{cause:e,...r}=t;Object.assign(this,r)}}}const Ve=ze;new function(){this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"jsonpath-query",lower:"jsonpath-query",index:0,isBkr:!1},this.rules[1]={name:"segments",lower:"segments",index:1,isBkr:!1},this.rules[2]={name:"B",lower:"b",index:2,isBkr:!1},this.rules[3]={name:"S",lower:"s",index:3,isBkr:!1},this.rules[4]={name:"root-identifier",lower:"root-identifier",index:4,isBkr:!1},this.rules[5]={name:"selector",lower:"selector",index:5,isBkr:!1},this.rules[6]={name:"name-selector",lower:"name-selector",index:6,isBkr:!1},this.rules[7]={name:"string-literal",lower:"string-literal",index:7,isBkr:!1},this.rules[8]={name:"double-quoted",lower:"double-quoted",index:8,isBkr:!1},this.rules[9]={name:"single-quoted",lower:"single-quoted",index:9,isBkr:!1},this.rules[10]={name:"ESC",lower:"esc",index:10,isBkr:!1},this.rules[11]={name:"unescaped",lower:"unescaped",index:11,isBkr:!1},this.rules[12]={name:"escapable",lower:"escapable",index:12,isBkr:!1},this.rules[13]={name:"hexchar",lower:"hexchar",index:13,isBkr:!1},this.rules[14]={name:"non-surrogate",lower:"non-surrogate",index:14,isBkr:!1},this.rules[15]={name:"high-surrogate",lower:"high-surrogate",index:15,isBkr:!1},this.rules[16]={name:"low-surrogate",lower:"low-surrogate",index:16,isBkr:!1},this.rules[17]={name:"HEXDIG",lower:"hexdig",index:17,isBkr:!1},this.rules[18]={name:"wildcard-selector",lower:"wildcard-selector",index:18,isBkr:!1},this.rules[19]={name:"index-selector",lower:"index-selector",index:19,isBkr:!1},this.rules[20]={name:"int",lower:"int",index:20,isBkr:!1},this.rules[21]={name:"DIGIT1",lower:"digit1",index:21,isBkr:!1},this.rules[22]={name:"slice-selector",lower:"slice-selector",index:22,isBkr:!1},this.rules[23]={name:"start",lower:"start",index:23,isBkr:!1},this.rules[24]={name:"end",lower:"end",index:24,isBkr:!1},this.rules[25]={name:"step",lower:"step",index:25,isBkr:!1},this.rules[26]={name:"filter-selector",lower:"filter-selector",index:26,isBkr:!1},this.rules[27]={name:"logical-expr",lower:"logical-expr",index:27,isBkr:!1},this.rules[28]={name:"logical-or-expr",lower:"logical-or-expr",index:28,isBkr:!1},this.rules[29]={name:"logical-and-expr",lower:"logical-and-expr",index:29,isBkr:!1},this.rules[30]={name:"basic-expr",lower:"basic-expr",index:30,isBkr:!1},this.rules[31]={name:"paren-expr",lower:"paren-expr",index:31,isBkr:!1},this.rules[32]={name:"logical-not-op",lower:"logical-not-op",index:32,isBkr:!1},this.rules[33]={name:"test-expr",lower:"test-expr",index:33,isBkr:!1},this.rules[34]={name:"filter-query",lower:"filter-query",index:34,isBkr:!1},this.rules[35]={name:"rel-query",lower:"rel-query",index:35,isBkr:!1},this.rules[36]={name:"current-node-identifier",lower:"current-node-identifier",index:36,isBkr:!1},this.rules[37]={name:"comparison-expr",lower:"comparison-expr",index:37,isBkr:!1},this.rules[38]={name:"literal",lower:"literal",index:38,isBkr:!1},this.rules[39]={name:"comparable",lower:"comparable",index:39,isBkr:!1},this.rules[40]={name:"comparison-op",lower:"comparison-op",index:40,isBkr:!1},this.rules[41]={name:"singular-query",lower:"singular-query",index:41,isBkr:!1},this.rules[42]={name:"rel-singular-query",lower:"rel-singular-query",index:42,isBkr:!1},this.rules[43]={name:"abs-singular-query",lower:"abs-singular-query",index:43,isBkr:!1},this.rules[44]={name:"singular-query-segments",lower:"singular-query-segments",index:44,isBkr:!1},this.rules[45]={name:"name-segment",lower:"name-segment",index:45,isBkr:!1},this.rules[46]={name:"index-segment",lower:"index-segment",index:46,isBkr:!1},this.rules[47]={name:"number",lower:"number",index:47,isBkr:!1},this.rules[48]={name:"frac",lower:"frac",index:48,isBkr:!1},this.rules[49]={name:"exp",lower:"exp",index:49,isBkr:!1},this.rules[50]={name:"true",lower:"true",index:50,isBkr:!1},this.rules[51]={name:"false",lower:"false",index:51,isBkr:!1},this.rules[52]={name:"null",lower:"null",index:52,isBkr:!1},this.rules[53]={name:"function-name",lower:"function-name",index:53,isBkr:!1},this.rules[54]={name:"function-name-first",lower:"function-name-first",index:54,isBkr:!1},this.rules[55]={name:"function-name-char",lower:"function-name-char",index:55,isBkr:!1},this.rules[56]={name:"LCALPHA",lower:"lcalpha",index:56,isBkr:!1},this.rules[57]={name:"function-expr",lower:"function-expr",index:57,isBkr:!1},this.rules[58]={name:"function-argument",lower:"function-argument",index:58,isBkr:!1},this.rules[59]={name:"segment",lower:"segment",index:59,isBkr:!1},this.rules[60]={name:"child-segment",lower:"child-segment",index:60,isBkr:!1},this.rules[61]={name:"bracketed-selection",lower:"bracketed-selection",index:61,isBkr:!1},this.rules[62]={name:"member-name-shorthand",lower:"member-name-shorthand",index:62,isBkr:!1},this.rules[63]={name:"name-first",lower:"name-first",index:63,isBkr:!1},this.rules[64]={name:"name-char",lower:"name-char",index:64,isBkr:!1},this.rules[65]={name:"DIGIT",lower:"digit",index:65,isBkr:!1},this.rules[66]={name:"ALPHA",lower:"alpha",index:66,isBkr:!1},this.rules[67]={name:"descendant-segment",lower:"descendant-segment",index:67,isBkr:!1},this.rules[68]={name:"normalized-path",lower:"normalized-path",index:68,isBkr:!1},this.rules[69]={name:"normal-index-segment",lower:"normal-index-segment",index:69,isBkr:!1},this.rules[70]={name:"normal-selector",lower:"normal-selector",index:70,isBkr:!1},this.rules[71]={name:"normal-name-selector",lower:"normal-name-selector",index:71,isBkr:!1},this.rules[72]={name:"normal-single-quoted",lower:"normal-single-quoted",index:72,isBkr:!1},this.rules[73]={name:"normal-unescaped",lower:"normal-unescaped",index:73,isBkr:!1},this.rules[74]={name:"normal-escapable",lower:"normal-escapable",index:74,isBkr:!1},this.rules[75]={name:"normal-hexchar",lower:"normal-hexchar",index:75,isBkr:!1},this.rules[76]={name:"normal-HEXDIG",lower:"normal-hexdig",index:76,isBkr:!1},this.rules[77]={name:"normal-index-selector",lower:"normal-index-selector",index:77,isBkr:!1},this.rules[78]={name:"dot-prefix",lower:"dot-prefix",index:78,isBkr:!1},this.rules[79]={name:"double-dot-prefix",lower:"double-dot-prefix",index:79,isBkr:!1},this.rules[80]={name:"left-bracket",lower:"left-bracket",index:80,isBkr:!1},this.rules[81]={name:"right-bracket",lower:"right-bracket",index:81,isBkr:!1},this.rules[82]={name:"left-paren",lower:"left-paren",index:82,isBkr:!1},this.rules[83]={name:"right-paren",lower:"right-paren",index:83,isBkr:!1},this.rules[84]={name:"comma",lower:"comma",index:84,isBkr:!1},this.rules[85]={name:"colon",lower:"colon",index:85,isBkr:!1},this.rules[86]={name:"dquote",lower:"dquote",index:86,isBkr:!1},this.rules[87]={name:"squote",lower:"squote",index:87,isBkr:!1},this.rules[88]={name:"questionmark",lower:"questionmark",index:88,isBkr:!1},this.rules[89]={name:"disjunction",lower:"disjunction",index:89,isBkr:!1},this.rules[90]={name:"conjunction",lower:"conjunction",index:90,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:2,children:[1,2]},this.rules[0].opcodes[1]={type:4,index:4},this.rules[0].opcodes[2]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:0,max:1/0},this.rules[1].opcodes[1]={type:2,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:3},this.rules[1].opcodes[3]={type:4,index:59},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[2].opcodes[1]={type:6,string:[32]},this.rules[2].opcodes[2]={type:6,string:[9]},this.rules[2].opcodes[3]={type:6,string:[10]},this.rules[2].opcodes[4]={type:6,string:[13]},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:3,min:0,max:1/0},this.rules[3].opcodes[1]={type:4,index:2},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:7,string:[36]},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[5].opcodes[1]={type:4,index:6},this.rules[5].opcodes[2]={type:4,index:18},this.rules[5].opcodes[3]={type:4,index:22},this.rules[5].opcodes[4]={type:4,index:19},this.rules[5].opcodes[5]={type:4,index:26},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:4,index:7},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:1,children:[1,6]},this.rules[7].opcodes[1]={type:2,children:[2,3,5]},this.rules[7].opcodes[2]={type:4,index:86},this.rules[7].opcodes[3]={type:3,min:0,max:1/0},this.rules[7].opcodes[4]={type:4,index:8},this.rules[7].opcodes[5]={type:4,index:86},this.rules[7].opcodes[6]={type:2,children:[7,8,10]},this.rules[7].opcodes[7]={type:4,index:87},this.rules[7].opcodes[8]={type:3,min:0,max:1/0},this.rules[7].opcodes[9]={type:4,index:9},this.rules[7].opcodes[10]={type:4,index:87},this.rules[8].opcodes=[],this.rules[8].opcodes[0]={type:1,children:[1,2,3,6]},this.rules[8].opcodes[1]={type:4,index:11},this.rules[8].opcodes[2]={type:6,string:[39]},this.rules[8].opcodes[3]={type:2,children:[4,5]},this.rules[8].opcodes[4]={type:4,index:10},this.rules[8].opcodes[5]={type:6,string:[34]},this.rules[8].opcodes[6]={type:2,children:[7,8]},this.rules[8].opcodes[7]={type:4,index:10},this.rules[8].opcodes[8]={type:4,index:12},this.rules[9].opcodes=[],this.rules[9].opcodes[0]={type:1,children:[1,2,3,6]},this.rules[9].opcodes[1]={type:4,index:11},this.rules[9].opcodes[2]={type:6,string:[34]},this.rules[9].opcodes[3]={type:2,children:[4,5]},this.rules[9].opcodes[4]={type:4,index:10},this.rules[9].opcodes[5]={type:6,string:[39]},this.rules[9].opcodes[6]={type:2,children:[7,8]},this.rules[9].opcodes[7]={type:4,index:10},this.rules[9].opcodes[8]={type:4,index:12},this.rules[10].opcodes=[],this.rules[10].opcodes[0]={type:6,string:[92]},this.rules[11].opcodes=[],this.rules[11].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[11].opcodes[1]={type:5,min:32,max:33},this.rules[11].opcodes[2]={type:5,min:35,max:38},this.rules[11].opcodes[3]={type:5,min:40,max:91},this.rules[11].opcodes[4]={type:5,min:93,max:55295},this.rules[11].opcodes[5]={type:5,min:57344,max:1114111},this.rules[12].opcodes=[],this.rules[12].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8]},this.rules[12].opcodes[1]={type:6,string:[98]},this.rules[12].opcodes[2]={type:6,string:[102]},this.rules[12].opcodes[3]={type:6,string:[110]},this.rules[12].opcodes[4]={type:6,string:[114]},this.rules[12].opcodes[5]={type:6,string:[116]},this.rules[12].opcodes[6]={type:7,string:[47]},this.rules[12].opcodes[7]={type:7,string:[92]},this.rules[12].opcodes[8]={type:2,children:[9,10]},this.rules[12].opcodes[9]={type:6,string:[117]},this.rules[12].opcodes[10]={type:4,index:13},this.rules[13].opcodes=[],this.rules[13].opcodes[0]={type:1,children:[1,2]},this.rules[13].opcodes[1]={type:4,index:14},this.rules[13].opcodes[2]={type:2,children:[3,4,5,6]},this.rules[13].opcodes[3]={type:4,index:15},this.rules[13].opcodes[4]={type:7,string:[92]},this.rules[13].opcodes[5]={type:6,string:[117]},this.rules[13].opcodes[6]={type:4,index:16},this.rules[14].opcodes=[],this.rules[14].opcodes[0]={type:1,children:[1,11]},this.rules[14].opcodes[1]={type:2,children:[2,9]},this.rules[14].opcodes[2]={type:1,children:[3,4,5,6,7,8]},this.rules[14].opcodes[3]={type:4,index:65},this.rules[14].opcodes[4]={type:7,string:[97]},this.rules[14].opcodes[5]={type:7,string:[98]},this.rules[14].opcodes[6]={type:7,string:[99]},this.rules[14].opcodes[7]={type:7,string:[101]},this.rules[14].opcodes[8]={type:7,string:[102]},this.rules[14].opcodes[9]={type:3,min:3,max:3},this.rules[14].opcodes[10]={type:4,index:17},this.rules[14].opcodes[11]={type:2,children:[12,13,14]},this.rules[14].opcodes[12]={type:7,string:[100]},this.rules[14].opcodes[13]={type:5,min:48,max:55},this.rules[14].opcodes[14]={type:3,min:2,max:2},this.rules[14].opcodes[15]={type:4,index:17},this.rules[15].opcodes=[],this.rules[15].opcodes[0]={type:2,children:[1,2,7]},this.rules[15].opcodes[1]={type:7,string:[100]},this.rules[15].opcodes[2]={type:1,children:[3,4,5,6]},this.rules[15].opcodes[3]={type:7,string:[56]},this.rules[15].opcodes[4]={type:7,string:[57]},this.rules[15].opcodes[5]={type:7,string:[97]},this.rules[15].opcodes[6]={type:7,string:[98]},this.rules[15].opcodes[7]={type:3,min:2,max:2},this.rules[15].opcodes[8]={type:4,index:17},this.rules[16].opcodes=[],this.rules[16].opcodes[0]={type:2,children:[1,2,7]},this.rules[16].opcodes[1]={type:7,string:[100]},this.rules[16].opcodes[2]={type:1,children:[3,4,5,6]},this.rules[16].opcodes[3]={type:7,string:[99]},this.rules[16].opcodes[4]={type:7,string:[100]},this.rules[16].opcodes[5]={type:7,string:[101]},this.rules[16].opcodes[6]={type:7,string:[102]},this.rules[16].opcodes[7]={type:3,min:2,max:2},this.rules[16].opcodes[8]={type:4,index:17},this.rules[17].opcodes=[],this.rules[17].opcodes[0]={type:1,children:[1,2,3,4,5,6,7]},this.rules[17].opcodes[1]={type:4,index:65},this.rules[17].opcodes[2]={type:7,string:[97]},this.rules[17].opcodes[3]={type:7,string:[98]},this.rules[17].opcodes[4]={type:7,string:[99]},this.rules[17].opcodes[5]={type:7,string:[100]},this.rules[17].opcodes[6]={type:7,string:[101]},this.rules[17].opcodes[7]={type:7,string:[102]},this.rules[18].opcodes=[],this.rules[18].opcodes[0]={type:7,string:[42]},this.rules[19].opcodes=[],this.rules[19].opcodes[0]={type:4,index:20},this.rules[20].opcodes=[],this.rules[20].opcodes[0]={type:1,children:[1,2]},this.rules[20].opcodes[1]={type:7,string:[48]},this.rules[20].opcodes[2]={type:2,children:[3,5,6]},this.rules[20].opcodes[3]={type:3,min:0,max:1},this.rules[20].opcodes[4]={type:7,string:[45]},this.rules[20].opcodes[5]={type:4,index:21},this.rules[20].opcodes[6]={type:3,min:0,max:1/0},this.rules[20].opcodes[7]={type:4,index:65},this.rules[21].opcodes=[],this.rules[21].opcodes[0]={type:5,min:49,max:57},this.rules[22].opcodes=[],this.rules[22].opcodes[0]={type:2,children:[1,5,6,7,11]},this.rules[22].opcodes[1]={type:3,min:0,max:1},this.rules[22].opcodes[2]={type:2,children:[3,4]},this.rules[22].opcodes[3]={type:4,index:23},this.rules[22].opcodes[4]={type:4,index:3},this.rules[22].opcodes[5]={type:4,index:85},this.rules[22].opcodes[6]={type:4,index:3},this.rules[22].opcodes[7]={type:3,min:0,max:1},this.rules[22].opcodes[8]={type:2,children:[9,10]},this.rules[22].opcodes[9]={type:4,index:24},this.rules[22].opcodes[10]={type:4,index:3},this.rules[22].opcodes[11]={type:3,min:0,max:1},this.rules[22].opcodes[12]={type:2,children:[13,14]},this.rules[22].opcodes[13]={type:4,index:85},this.rules[22].opcodes[14]={type:3,min:0,max:1},this.rules[22].opcodes[15]={type:2,children:[16,17]},this.rules[22].opcodes[16]={type:4,index:3},this.rules[22].opcodes[17]={type:4,index:25},this.rules[23].opcodes=[],this.rules[23].opcodes[0]={type:4,index:20},this.rules[24].opcodes=[],this.rules[24].opcodes[0]={type:4,index:20},this.rules[25].opcodes=[],this.rules[25].opcodes[0]={type:4,index:20},this.rules[26].opcodes=[],this.rules[26].opcodes[0]={type:2,children:[1,2,3]},this.rules[26].opcodes[1]={type:4,index:88},this.rules[26].opcodes[2]={type:4,index:3},this.rules[26].opcodes[3]={type:4,index:27},this.rules[27].opcodes=[],this.rules[27].opcodes[0]={type:4,index:28},this.rules[28].opcodes=[],this.rules[28].opcodes[0]={type:2,children:[1,2]},this.rules[28].opcodes[1]={type:4,index:29},this.rules[28].opcodes[2]={type:3,min:0,max:1/0},this.rules[28].opcodes[3]={type:2,children:[4,5,6,7]},this.rules[28].opcodes[4]={type:4,index:3},this.rules[28].opcodes[5]={type:4,index:89},this.rules[28].opcodes[6]={type:4,index:3},this.rules[28].opcodes[7]={type:4,index:29},this.rules[29].opcodes=[],this.rules[29].opcodes[0]={type:2,children:[1,2]},this.rules[29].opcodes[1]={type:4,index:30},this.rules[29].opcodes[2]={type:3,min:0,max:1/0},this.rules[29].opcodes[3]={type:2,children:[4,5,6,7]},this.rules[29].opcodes[4]={type:4,index:3},this.rules[29].opcodes[5]={type:4,index:90},this.rules[29].opcodes[6]={type:4,index:3},this.rules[29].opcodes[7]={type:4,index:30},this.rules[30].opcodes=[],this.rules[30].opcodes[0]={type:1,children:[1,2,3]},this.rules[30].opcodes[1]={type:4,index:31},this.rules[30].opcodes[2]={type:4,index:37},this.rules[30].opcodes[3]={type:4,index:33},this.rules[31].opcodes=[],this.rules[31].opcodes[0]={type:2,children:[1,5,6,7,8,9]},this.rules[31].opcodes[1]={type:3,min:0,max:1},this.rules[31].opcodes[2]={type:2,children:[3,4]},this.rules[31].opcodes[3]={type:4,index:32},this.rules[31].opcodes[4]={type:4,index:3},this.rules[31].opcodes[5]={type:4,index:82},this.rules[31].opcodes[6]={type:4,index:3},this.rules[31].opcodes[7]={type:4,index:27},this.rules[31].opcodes[8]={type:4,index:3},this.rules[31].opcodes[9]={type:4,index:83},this.rules[32].opcodes=[],this.rules[32].opcodes[0]={type:7,string:[33]},this.rules[33].opcodes=[],this.rules[33].opcodes[0]={type:2,children:[1,5]},this.rules[33].opcodes[1]={type:3,min:0,max:1},this.rules[33].opcodes[2]={type:2,children:[3,4]},this.rules[33].opcodes[3]={type:4,index:32},this.rules[33].opcodes[4]={type:4,index:3},this.rules[33].opcodes[5]={type:1,children:[6,7]},this.rules[33].opcodes[6]={type:4,index:34},this.rules[33].opcodes[7]={type:4,index:57},this.rules[34].opcodes=[],this.rules[34].opcodes[0]={type:1,children:[1,2]},this.rules[34].opcodes[1]={type:4,index:35},this.rules[34].opcodes[2]={type:4,index:0},this.rules[35].opcodes=[],this.rules[35].opcodes[0]={type:2,children:[1,2]},this.rules[35].opcodes[1]={type:4,index:36},this.rules[35].opcodes[2]={type:4,index:1},this.rules[36].opcodes=[],this.rules[36].opcodes[0]={type:7,string:[64]},this.rules[37].opcodes=[],this.rules[37].opcodes[0]={type:2,children:[1,2,3,4,5]},this.rules[37].opcodes[1]={type:4,index:39},this.rules[37].opcodes[2]={type:4,index:3},this.rules[37].opcodes[3]={type:4,index:40},this.rules[37].opcodes[4]={type:4,index:3},this.rules[37].opcodes[5]={type:4,index:39},this.rules[38].opcodes=[],this.rules[38].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[38].opcodes[1]={type:4,index:47},this.rules[38].opcodes[2]={type:4,index:7},this.rules[38].opcodes[3]={type:4,index:50},this.rules[38].opcodes[4]={type:4,index:51},this.rules[38].opcodes[5]={type:4,index:52},this.rules[39].opcodes=[],this.rules[39].opcodes[0]={type:1,children:[1,2,3]},this.rules[39].opcodes[1]={type:4,index:41},this.rules[39].opcodes[2]={type:4,index:57},this.rules[39].opcodes[3]={type:4,index:38},this.rules[40].opcodes=[],this.rules[40].opcodes[0]={type:1,children:[1,2,3,4,5,6]},this.rules[40].opcodes[1]={type:7,string:[61,61]},this.rules[40].opcodes[2]={type:7,string:[33,61]},this.rules[40].opcodes[3]={type:7,string:[60,61]},this.rules[40].opcodes[4]={type:7,string:[62,61]},this.rules[40].opcodes[5]={type:7,string:[60]},this.rules[40].opcodes[6]={type:7,string:[62]},this.rules[41].opcodes=[],this.rules[41].opcodes[0]={type:1,children:[1,2]},this.rules[41].opcodes[1]={type:4,index:42},this.rules[41].opcodes[2]={type:4,index:43},this.rules[42].opcodes=[],this.rules[42].opcodes[0]={type:2,children:[1,2]},this.rules[42].opcodes[1]={type:4,index:36},this.rules[42].opcodes[2]={type:4,index:44},this.rules[43].opcodes=[],this.rules[43].opcodes[0]={type:2,children:[1,2]},this.rules[43].opcodes[1]={type:4,index:4},this.rules[43].opcodes[2]={type:4,index:44},this.rules[44].opcodes=[],this.rules[44].opcodes[0]={type:3,min:0,max:1/0},this.rules[44].opcodes[1]={type:2,children:[2,3]},this.rules[44].opcodes[2]={type:4,index:3},this.rules[44].opcodes[3]={type:1,children:[4,5]},this.rules[44].opcodes[4]={type:4,index:45},this.rules[44].opcodes[5]={type:4,index:46},this.rules[45].opcodes=[],this.rules[45].opcodes[0]={type:1,children:[1,5]},this.rules[45].opcodes[1]={type:2,children:[2,3,4]},this.rules[45].opcodes[2]={type:4,index:80},this.rules[45].opcodes[3]={type:4,index:6},this.rules[45].opcodes[4]={type:4,index:81},this.rules[45].opcodes[5]={type:2,children:[6,7]},this.rules[45].opcodes[6]={type:4,index:78},this.rules[45].opcodes[7]={type:4,index:62},this.rules[46].opcodes=[],this.rules[46].opcodes[0]={type:2,children:[1,2,3]},this.rules[46].opcodes[1]={type:4,index:80},this.rules[46].opcodes[2]={type:4,index:19},this.rules[46].opcodes[3]={type:4,index:81},this.rules[47].opcodes=[],this.rules[47].opcodes[0]={type:2,children:[1,4,6]},this.rules[47].opcodes[1]={type:1,children:[2,3]},this.rules[47].opcodes[2]={type:4,index:20},this.rules[47].opcodes[3]={type:7,string:[45,48]},this.rules[47].opcodes[4]={type:3,min:0,max:1},this.rules[47].opcodes[5]={type:4,index:48},this.rules[47].opcodes[6]={type:3,min:0,max:1},this.rules[47].opcodes[7]={type:4,index:49},this.rules[48].opcodes=[],this.rules[48].opcodes[0]={type:2,children:[1,2]},this.rules[48].opcodes[1]={type:7,string:[46]},this.rules[48].opcodes[2]={type:3,min:1,max:1/0},this.rules[48].opcodes[3]={type:4,index:65},this.rules[49].opcodes=[],this.rules[49].opcodes[0]={type:2,children:[1,2,6]},this.rules[49].opcodes[1]={type:7,string:[101]},this.rules[49].opcodes[2]={type:3,min:0,max:1},this.rules[49].opcodes[3]={type:1,children:[4,5]},this.rules[49].opcodes[4]={type:7,string:[45]},this.rules[49].opcodes[5]={type:7,string:[43]},this.rules[49].opcodes[6]={type:3,min:1,max:1/0},this.rules[49].opcodes[7]={type:4,index:65},this.rules[50].opcodes=[],this.rules[50].opcodes[0]={type:6,string:[116,114,117,101]},this.rules[51].opcodes=[],this.rules[51].opcodes[0]={type:6,string:[102,97,108,115,101]},this.rules[52].opcodes=[],this.rules[52].opcodes[0]={type:6,string:[110,117,108,108]},this.rules[53].opcodes=[],this.rules[53].opcodes[0]={type:2,children:[1,2]},this.rules[53].opcodes[1]={type:4,index:54},this.rules[53].opcodes[2]={type:3,min:0,max:1/0},this.rules[53].opcodes[3]={type:4,index:55},this.rules[54].opcodes=[],this.rules[54].opcodes[0]={type:4,index:56},this.rules[55].opcodes=[],this.rules[55].opcodes[0]={type:1,children:[1,2,3]},this.rules[55].opcodes[1]={type:4,index:54},this.rules[55].opcodes[2]={type:7,string:[95]},this.rules[55].opcodes[3]={type:4,index:65},this.rules[56].opcodes=[],this.rules[56].opcodes[0]={type:5,min:97,max:122},this.rules[57].opcodes=[],this.rules[57].opcodes[0]={type:2,children:[1,2,3,4,13,14]},this.rules[57].opcodes[1]={type:4,index:53},this.rules[57].opcodes[2]={type:4,index:82},this.rules[57].opcodes[3]={type:4,index:3},this.rules[57].opcodes[4]={type:3,min:0,max:1},this.rules[57].opcodes[5]={type:2,children:[6,7]},this.rules[57].opcodes[6]={type:4,index:58},this.rules[57].opcodes[7]={type:3,min:0,max:1/0},this.rules[57].opcodes[8]={type:2,children:[9,10,11,12]},this.rules[57].opcodes[9]={type:4,index:3},this.rules[57].opcodes[10]={type:4,index:84},this.rules[57].opcodes[11]={type:4,index:3},this.rules[57].opcodes[12]={type:4,index:58},this.rules[57].opcodes[13]={type:4,index:3},this.rules[57].opcodes[14]={type:4,index:83},this.rules[58].opcodes=[],this.rules[58].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[58].opcodes[1]={type:4,index:27},this.rules[58].opcodes[2]={type:4,index:34},this.rules[58].opcodes[3]={type:4,index:57},this.rules[58].opcodes[4]={type:4,index:38},this.rules[59].opcodes=[],this.rules[59].opcodes[0]={type:1,children:[1,2]},this.rules[59].opcodes[1]={type:4,index:60},this.rules[59].opcodes[2]={type:4,index:67},this.rules[60].opcodes=[],this.rules[60].opcodes[0]={type:1,children:[1,2]},this.rules[60].opcodes[1]={type:4,index:61},this.rules[60].opcodes[2]={type:2,children:[3,4]},this.rules[60].opcodes[3]={type:4,index:78},this.rules[60].opcodes[4]={type:1,children:[5,6]},this.rules[60].opcodes[5]={type:4,index:18},this.rules[60].opcodes[6]={type:4,index:62},this.rules[61].opcodes=[],this.rules[61].opcodes[0]={type:2,children:[1,2,3,4,10,11]},this.rules[61].opcodes[1]={type:4,index:80},this.rules[61].opcodes[2]={type:4,index:3},this.rules[61].opcodes[3]={type:4,index:5},this.rules[61].opcodes[4]={type:3,min:0,max:1/0},this.rules[61].opcodes[5]={type:2,children:[6,7,8,9]},this.rules[61].opcodes[6]={type:4,index:3},this.rules[61].opcodes[7]={type:4,index:84},this.rules[61].opcodes[8]={type:4,index:3},this.rules[61].opcodes[9]={type:4,index:5},this.rules[61].opcodes[10]={type:4,index:3},this.rules[61].opcodes[11]={type:4,index:81},this.rules[62].opcodes=[],this.rules[62].opcodes[0]={type:2,children:[1,2]},this.rules[62].opcodes[1]={type:4,index:63},this.rules[62].opcodes[2]={type:3,min:0,max:1/0},this.rules[62].opcodes[3]={type:4,index:64},this.rules[63].opcodes=[],this.rules[63].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[63].opcodes[1]={type:4,index:66},this.rules[63].opcodes[2]={type:7,string:[95]},this.rules[63].opcodes[3]={type:5,min:128,max:55295},this.rules[63].opcodes[4]={type:5,min:57344,max:1114111},this.rules[64].opcodes=[],this.rules[64].opcodes[0]={type:1,children:[1,2]},this.rules[64].opcodes[1]={type:4,index:63},this.rules[64].opcodes[2]={type:4,index:65},this.rules[65].opcodes=[],this.rules[65].opcodes[0]={type:5,min:48,max:57},this.rules[66].opcodes=[],this.rules[66].opcodes[0]={type:1,children:[1,2]},this.rules[66].opcodes[1]={type:5,min:65,max:90},this.rules[66].opcodes[2]={type:5,min:97,max:122},this.rules[67].opcodes=[],this.rules[67].opcodes[0]={type:2,children:[1,2]},this.rules[67].opcodes[1]={type:4,index:79},this.rules[67].opcodes[2]={type:1,children:[3,4,5]},this.rules[67].opcodes[3]={type:4,index:61},this.rules[67].opcodes[4]={type:4,index:18},this.rules[67].opcodes[5]={type:4,index:62},this.rules[68].opcodes=[],this.rules[68].opcodes[0]={type:2,children:[1,2]},this.rules[68].opcodes[1]={type:4,index:4},this.rules[68].opcodes[2]={type:3,min:0,max:1/0},this.rules[68].opcodes[3]={type:4,index:69},this.rules[69].opcodes=[],this.rules[69].opcodes[0]={type:2,children:[1,2,3]},this.rules[69].opcodes[1]={type:4,index:80},this.rules[69].opcodes[2]={type:4,index:70},this.rules[69].opcodes[3]={type:4,index:81},this.rules[70].opcodes=[],this.rules[70].opcodes[0]={type:1,children:[1,2]},this.rules[70].opcodes[1]={type:4,index:71},this.rules[70].opcodes[2]={type:4,index:77},this.rules[71].opcodes=[],this.rules[71].opcodes[0]={type:2,children:[1,2,4]},this.rules[71].opcodes[1]={type:4,index:87},this.rules[71].opcodes[2]={type:3,min:0,max:1/0},this.rules[71].opcodes[3]={type:4,index:72},this.rules[71].opcodes[4]={type:4,index:87},this.rules[72].opcodes=[],this.rules[72].opcodes[0]={type:1,children:[1,2]},this.rules[72].opcodes[1]={type:4,index:73},this.rules[72].opcodes[2]={type:2,children:[3,4]},this.rules[72].opcodes[3]={type:4,index:10},this.rules[72].opcodes[4]={type:4,index:74},this.rules[73].opcodes=[],this.rules[73].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[73].opcodes[1]={type:5,min:32,max:38},this.rules[73].opcodes[2]={type:5,min:40,max:91},this.rules[73].opcodes[3]={type:5,min:93,max:55295},this.rules[73].opcodes[4]={type:5,min:57344,max:1114111},this.rules[74].opcodes=[],this.rules[74].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8]},this.rules[74].opcodes[1]={type:6,string:[98]},this.rules[74].opcodes[2]={type:6,string:[102]},this.rules[74].opcodes[3]={type:6,string:[110]},this.rules[74].opcodes[4]={type:6,string:[114]},this.rules[74].opcodes[5]={type:6,string:[116]},this.rules[74].opcodes[6]={type:7,string:[39]},this.rules[74].opcodes[7]={type:7,string:[92]},this.rules[74].opcodes[8]={type:2,children:[9,10]},this.rules[74].opcodes[9]={type:6,string:[117]},this.rules[74].opcodes[10]={type:4,index:75},this.rules[75].opcodes=[],this.rules[75].opcodes[0]={type:2,children:[1,2,3]},this.rules[75].opcodes[1]={type:7,string:[48]},this.rules[75].opcodes[2]={type:7,string:[48]},this.rules[75].opcodes[3]={type:1,children:[4,7,10,13]},this.rules[75].opcodes[4]={type:2,children:[5,6]},this.rules[75].opcodes[5]={type:7,string:[48]},this.rules[75].opcodes[6]={type:5,min:48,max:55},this.rules[75].opcodes[7]={type:2,children:[8,9]},this.rules[75].opcodes[8]={type:7,string:[48]},this.rules[75].opcodes[9]={type:6,string:[98]},this.rules[75].opcodes[10]={type:2,children:[11,12]},this.rules[75].opcodes[11]={type:7,string:[48]},this.rules[75].opcodes[12]={type:5,min:101,max:102},this.rules[75].opcodes[13]={type:2,children:[14,15]},this.rules[75].opcodes[14]={type:7,string:[49]},this.rules[75].opcodes[15]={type:4,index:76},this.rules[76].opcodes=[],this.rules[76].opcodes[0]={type:1,children:[1,2]},this.rules[76].opcodes[1]={type:4,index:65},this.rules[76].opcodes[2]={type:5,min:97,max:102},this.rules[77].opcodes=[],this.rules[77].opcodes[0]={type:1,children:[1,2]},this.rules[77].opcodes[1]={type:7,string:[48]},this.rules[77].opcodes[2]={type:2,children:[3,4]},this.rules[77].opcodes[3]={type:4,index:21},this.rules[77].opcodes[4]={type:3,min:0,max:1/0},this.rules[77].opcodes[5]={type:4,index:65},this.rules[78].opcodes=[],this.rules[78].opcodes[0]={type:7,string:[46]},this.rules[79].opcodes=[],this.rules[79].opcodes[0]={type:7,string:[46,46]},this.rules[80].opcodes=[],this.rules[80].opcodes[0]={type:7,string:[91]},this.rules[81].opcodes=[],this.rules[81].opcodes[0]={type:7,string:[93]},this.rules[82].opcodes=[],this.rules[82].opcodes[0]={type:7,string:[40]},this.rules[83].opcodes=[],this.rules[83].opcodes[0]={type:7,string:[41]},this.rules[84].opcodes=[],this.rules[84].opcodes[0]={type:7,string:[44]},this.rules[85].opcodes=[],this.rules[85].opcodes[0]={type:7,string:[58]},this.rules[86].opcodes=[],this.rules[86].opcodes[0]={type:6,string:[34]},this.rules[87].opcodes=[],this.rules[87].opcodes[0]={type:6,string:[39]},this.rules[88].opcodes=[],this.rules[88].opcodes[0]={type:7,string:[63]},this.rules[89].opcodes=[],this.rules[89].opcodes[0]={type:7,string:[124,124]},this.rules[90].opcodes=[],this.rules[90].opcodes[0]={type:7,string:[38,38]},this.toString=function(){let e="";return e+="; JSONPath: Query Expressions for JSON\n",e+="; https://www.rfc-editor.org/rfc/rfc9535\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.1.1\n",e+="jsonpath-query = root-identifier segments\n",e+="segments = *(S segment)\n",e+="\n",e+="B = %x20 / ; Space\n",e+=" %x09 / ; Horizontal tab\n",e+=" %x0A / ; Line feed or New line\n",e+=" %x0D ; Carriage return\n",e+="S = *B ; optional blank space\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.2.1\n",e+='root-identifier = "$"\n',e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3\n",e+="selector = name-selector /\n",e+=" wildcard-selector /\n",e+=" slice-selector /\n",e+=" index-selector /\n",e+=" filter-selector\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.1.1\n",e+="name-selector = string-literal\n",e+="\n",e+='string-literal = dquote *double-quoted dquote / ; "string", MODIFICATION: surrogate text rule used\n',e+=" squote *single-quoted squote ; 'string', MODIFICATION: surrogate text rule used\n",e+="\n",e+="double-quoted = unescaped /\n",e+=" %x27 / ; '\n",e+=' ESC %x22 / ; \\"\n',e+=" ESC escapable\n",e+="\n",e+="single-quoted = unescaped /\n",e+=' %x22 / ; "\n',e+=" ESC %x27 / ; \\'\n",e+=" ESC escapable\n",e+="\n",e+="ESC = %x5C ; \\ backslash\n",e+="\n",e+="unescaped = %x20-21 / ; see RFC 8259\n",e+=' ; omit 0x22 "\n',e+=" %x23-26 /\n",e+=" ; omit 0x27 '\n",e+=" %x28-5B /\n",e+=" ; omit 0x5C \\\n",e+=" %x5D-D7FF /\n",e+=" ; skip surrogate code points\n",e+=" %xE000-10FFFF\n",e+="\n",e+="escapable = %x62 / ; b BS backspace U+0008\n",e+=" %x66 / ; f FF form feed U+000C\n",e+=" %x6E / ; n LF line feed U+000A\n",e+=" %x72 / ; r CR carriage return U+000D\n",e+=" %x74 / ; t HT horizontal tab U+0009\n",e+=' "/" / ; / slash (solidus) U+002F\n',e+=' "\\" / ; \\ backslash (reverse solidus) U+005C\n',e+=" (%x75 hexchar) ; uXXXX U+XXXX\n",e+="\n",e+="hexchar = non-surrogate /\n",e+=' (high-surrogate "\\" %x75 low-surrogate)\n',e+='non-surrogate = ((DIGIT / "A"/"B"/"C" / "E"/"F") 3HEXDIG) /\n',e+=' ("D" %x30-37 2HEXDIG )\n',e+='high-surrogate = "D" ("8"/"9"/"A"/"B") 2HEXDIG\n',e+='low-surrogate = "D" ("C"/"D"/"E"/"F") 2HEXDIG\n',e+="\n",e+='HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"\n',e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.2.1\n",e+='wildcard-selector = "*"\n',e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.3.1\n",e+="index-selector = int ; decimal integer\n",e+="\n",e+='int = "0" /\n',e+=' (["-"] DIGIT1 *DIGIT) ; - optional\n',e+="DIGIT1 = %x31-39 ; 1-9 non-zero digit\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.4.1\n",e+="slice-selector = [start S] colon S [end S] [colon [S step ]] ; MODIFICATION: surrogate text rule used\n",e+="\n",e+="start = int ; included in selection\n",e+="end = int ; not included in selection\n",e+="step = int ; default: 1\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.5.1\n",e+="filter-selector = questionmark S logical-expr ; MODIFICATION: surrogate text rule used\n",e+="\n",e+="logical-expr = logical-or-expr\n",e+="logical-or-expr = logical-and-expr *(S disjunction S logical-and-expr) ; MODIFICATION: surrogate text rule used\n",e+=" ; disjunction\n",e+=" ; binds less tightly than conjunction\n",e+="logical-and-expr = basic-expr *(S conjunction S basic-expr) ; MODIFICATION: surrogate text rule used\n",e+=" ; conjunction\n",e+=" ; binds more tightly than disjunction\n",e+="\n",e+="basic-expr = paren-expr /\n",e+=" comparison-expr /\n",e+=" test-expr\n",e+="\n",e+="paren-expr = [logical-not-op S] left-paren S logical-expr S right-paren ; MODIFICATION: surrogate text rule used\n",e+=" ; parenthesized expression\n",e+='logical-not-op = "!" ; logical NOT operator\n',e+="\n",e+="test-expr = [logical-not-op S]\n",e+=" (filter-query / ; existence/non-existence\n",e+=" function-expr) ; LogicalType or NodesType\n",e+="filter-query = rel-query / jsonpath-query\n",e+="rel-query = current-node-identifier segments\n",e+='current-node-identifier = "@"\n',e+="\n",e+="comparison-expr = comparable S comparison-op S comparable\n",e+="literal = number / string-literal /\n",e+=" true / false / null\n",e+="comparable = singular-query / ; singular query value\n",e+=" function-expr / ; ValueType\n",e+=" literal\n",e+=" ; MODIFICATION: https://www.rfc-editor.org/errata/eid8352\n",e+='comparison-op = "==" / "!=" /\n',e+=' "<=" / ">=" /\n',e+=' "<" / ">"\n',e+="\n",e+="singular-query = rel-singular-query / abs-singular-query\n",e+="rel-singular-query = current-node-identifier singular-query-segments\n",e+="abs-singular-query = root-identifier singular-query-segments\n",e+="singular-query-segments = *(S (name-segment / index-segment))\n",e+="name-segment = (left-bracket name-selector right-bracket) / ; MODIFICATION: surrogate text rule used\n",e+=" (dot-prefix member-name-shorthand) ; MODIFICATION: surrogate text rule used\n",e+="index-segment = left-bracket index-selector right-bracket ; MODIFICATION: surrogate text rule used\n",e+="\n",e+='number = (int / "-0") [ frac ] [ exp ] ; decimal number\n',e+='frac = "." 1*DIGIT ; decimal fraction\n',e+='exp = "e" [ "-" / "+" ] 1*DIGIT ; decimal exponent\n',e+="true = %x74.72.75.65 ; true\n",e+="false = %x66.61.6c.73.65 ; false\n",e+="null = %x6e.75.6c.6c ; null\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.4\n",e+="function-name = function-name-first *function-name-char\n",e+="function-name-first = LCALPHA\n",e+='function-name-char = function-name-first / "_" / DIGIT\n',e+='LCALPHA = %x61-7A ; "a".."z"\n',e+="\n",e+="function-expr = function-name left-paren S [function-argument ; MODIFICATION: surrogate text rule used\n",e+=" *(S comma S function-argument)] S right-paren ; MODIFICATION: surrogate text rule used\n",e+="function-argument = logical-expr / ; MODIFICATION: https://www.rfc-editor.org/errata/eid8343\n",e+=" filter-query / ; (includes singular-query)\n",e+=" function-expr /\n",e+=" literal\n",e+="\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.5\n",e+="segment = child-segment / descendant-segment\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.1.1\n",e+="child-segment = bracketed-selection /\n",e+=" (dot-prefix ; MODIFICATION: surrogate text rule used\n",e+=" (wildcard-selector /\n",e+=" member-name-shorthand))\n",e+="\n",e+="bracketed-selection = left-bracket S selector *(S comma S selector) S right-bracket\n",e+=" ; MODIFICATION: surrogate text rule used\n",e+="\n",e+="member-name-shorthand = name-first *name-char\n",e+="name-first = ALPHA /\n",e+=' "_" /\n',e+=" %x80-D7FF /\n",e+=" ; skip surrogate code points\n",e+=" %xE000-10FFFF\n",e+="name-char = name-first / DIGIT\n",e+="\n",e+="DIGIT = %x30-39 ; 0-9\n",e+="ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.2.1\n",e+="descendant-segment = double-dot-prefix (bracketed-selection / ; MODIFICATION: surrogate text rule used\n",e+=" wildcard-selector /\n",e+=" member-name-shorthand)\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#name-normalized-paths\n",e+="normalized-path = root-identifier *(normal-index-segment)\n",e+="normal-index-segment = left-bracket normal-selector right-bracket ; MODIFICATION: surrogate text rule used\n",e+="normal-selector = normal-name-selector / normal-index-selector\n",e+="normal-name-selector = squote *normal-single-quoted squote ; 'string', MODIFICATION: surrogate text rule used\n",e+="normal-single-quoted = normal-unescaped /\n",e+=" ESC normal-escapable\n",e+="normal-unescaped = ; omit %x0-1F control codes\n",e+=" %x20-26 /\n",e+=" ; omit 0x27 '\n",e+=" %x28-5B /\n",e+=" ; omit 0x5C \\\n",e+=" %x5D-D7FF /\n",e+=" ; skip surrogate code points\n",e+=" %xE000-10FFFF\n",e+="\n",e+="normal-escapable = %x62 / ; b BS backspace U+0008\n",e+=" %x66 / ; f FF form feed U+000C\n",e+=" %x6E / ; n LF line feed U+000A\n",e+=" %x72 / ; r CR carriage return U+000D\n",e+=" %x74 / ; t HT horizontal tab U+0009\n",e+=" \"'\" / ; ' apostrophe U+0027\n",e+=' "\\" / ; \\ backslash (reverse solidus) U+005C\n',e+=" (%x75 normal-hexchar)\n",e+=" ; certain values u00xx U+00XX\n",e+='normal-hexchar = "0" "0"\n',e+=" (\n",e+=' ("0" %x30-37) / ; "00"-"07"\n',e+=" ; omit U+0008-U+000A BS HT LF\n",e+=' ("0" %x62) / ; "0b"\n',e+=" ; omit U+000C-U+000D FF CR\n",e+=' ("0" %x65-66) / ; "0e"-"0f"\n',e+=' ("1" normal-HEXDIG)\n',e+=" )\n",e+='normal-HEXDIG = DIGIT / %x61-66 ; "0"-"9", "a"-"f"\n',e+='normal-index-selector = "0" / (DIGIT1 *DIGIT)\n',e+=" ; non-negative decimal integer\n",e+="\n",e+="; Surrogate named rules\n",e+='dot-prefix = "."\n',e+='double-dot-prefix = ".."\n',e+='left-bracket = "["\n',e+='right-bracket = "]"\n',e+='left-paren = "("\n',e+='right-paren = ")"\n',e+='comma = ","\n',e+='colon = ":"\n',e+='dquote = %x22 ; "\n',e+="squote = %x27 ; '\n",e+='questionmark = "?"\n',e+='disjunction = "||"\n',e+='conjunction = "&&"\n','; JSONPath: Query Expressions for JSON\n; https://www.rfc-editor.org/rfc/rfc9535\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.1.1\njsonpath-query = root-identifier segments\nsegments = *(S segment)\n\nB = %x20 / ; Space\n %x09 / ; Horizontal tab\n %x0A / ; Line feed or New line\n %x0D ; Carriage return\nS = *B ; optional blank space\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.2.1\nroot-identifier = "$"\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3\nselector = name-selector /\n wildcard-selector /\n slice-selector /\n index-selector /\n filter-selector\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.1.1\nname-selector = string-literal\n\nstring-literal = dquote *double-quoted dquote / ; "string", MODIFICATION: surrogate text rule used\n squote *single-quoted squote ; \'string\', MODIFICATION: surrogate text rule used\n\ndouble-quoted = unescaped /\n %x27 / ; \'\n ESC %x22 / ; \\"\n ESC escapable\n\nsingle-quoted = unescaped /\n %x22 / ; "\n ESC %x27 / ; \\\'\n ESC escapable\n\nESC = %x5C ; \\ backslash\n\nunescaped = %x20-21 / ; see RFC 8259\n ; omit 0x22 "\n %x23-26 /\n ; omit 0x27 \'\n %x28-5B /\n ; omit 0x5C \\\n %x5D-D7FF /\n ; skip surrogate code points\n %xE000-10FFFF\n\nescapable = %x62 / ; b BS backspace U+0008\n %x66 / ; f FF form feed U+000C\n %x6E / ; n LF line feed U+000A\n %x72 / ; r CR carriage return U+000D\n %x74 / ; t HT horizontal tab U+0009\n "/" / ; / slash (solidus) U+002F\n "\\" / ; \\ backslash (reverse solidus) U+005C\n (%x75 hexchar) ; uXXXX U+XXXX\n\nhexchar = non-surrogate /\n (high-surrogate "\\" %x75 low-surrogate)\nnon-surrogate = ((DIGIT / "A"/"B"/"C" / "E"/"F") 3HEXDIG) /\n ("D" %x30-37 2HEXDIG )\nhigh-surrogate = "D" ("8"/"9"/"A"/"B") 2HEXDIG\nlow-surrogate = "D" ("C"/"D"/"E"/"F") 2HEXDIG\n\nHEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.2.1\nwildcard-selector = "*"\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.3.1\nindex-selector = int ; decimal integer\n\nint = "0" /\n (["-"] DIGIT1 *DIGIT) ; - optional\nDIGIT1 = %x31-39 ; 1-9 non-zero digit\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.4.1\nslice-selector = [start S] colon S [end S] [colon [S step ]] ; MODIFICATION: surrogate text rule used\n\nstart = int ; included in selection\nend = int ; not included in selection\nstep = int ; default: 1\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.5.1\nfilter-selector = questionmark S logical-expr ; MODIFICATION: surrogate text rule used\n\nlogical-expr = logical-or-expr\nlogical-or-expr = logical-and-expr *(S disjunction S logical-and-expr) ; MODIFICATION: surrogate text rule used\n ; disjunction\n ; binds less tightly than conjunction\nlogical-and-expr = basic-expr *(S conjunction S basic-expr) ; MODIFICATION: surrogate text rule used\n ; conjunction\n ; binds more tightly than disjunction\n\nbasic-expr = paren-expr /\n comparison-expr /\n test-expr\n\nparen-expr = [logical-not-op S] left-paren S logical-expr S right-paren ; MODIFICATION: surrogate text rule used\n ; parenthesized expression\nlogical-not-op = "!" ; logical NOT operator\n\ntest-expr = [logical-not-op S]\n (filter-query / ; existence/non-existence\n function-expr) ; LogicalType or NodesType\nfilter-query = rel-query / jsonpath-query\nrel-query = current-node-identifier segments\ncurrent-node-identifier = "@"\n\ncomparison-expr = comparable S comparison-op S comparable\nliteral = number / string-literal /\n true / false / null\ncomparable = singular-query / ; singular query value\n function-expr / ; ValueType\n literal\n ; MODIFICATION: https://www.rfc-editor.org/errata/eid8352\ncomparison-op = "==" / "!=" /\n "<=" / ">=" /\n "<" / ">"\n\nsingular-query = rel-singular-query / abs-singular-query\nrel-singular-query = current-node-identifier singular-query-segments\nabs-singular-query = root-identifier singular-query-segments\nsingular-query-segments = *(S (name-segment / index-segment))\nname-segment = (left-bracket name-selector right-bracket) / ; MODIFICATION: surrogate text rule used\n (dot-prefix member-name-shorthand) ; MODIFICATION: surrogate text rule used\nindex-segment = left-bracket index-selector right-bracket ; MODIFICATION: surrogate text rule used\n\nnumber = (int / "-0") [ frac ] [ exp ] ; decimal number\nfrac = "." 1*DIGIT ; decimal fraction\nexp = "e" [ "-" / "+" ] 1*DIGIT ; decimal exponent\ntrue = %x74.72.75.65 ; true\nfalse = %x66.61.6c.73.65 ; false\nnull = %x6e.75.6c.6c ; null\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.4\nfunction-name = function-name-first *function-name-char\nfunction-name-first = LCALPHA\nfunction-name-char = function-name-first / "_" / DIGIT\nLCALPHA = %x61-7A ; "a".."z"\n\nfunction-expr = function-name left-paren S [function-argument ; MODIFICATION: surrogate text rule used\n *(S comma S function-argument)] S right-paren ; MODIFICATION: surrogate text rule used\nfunction-argument = logical-expr / ; MODIFICATION: https://www.rfc-editor.org/errata/eid8343\n filter-query / ; (includes singular-query)\n function-expr /\n literal\n\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.5\nsegment = child-segment / descendant-segment\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.1.1\nchild-segment = bracketed-selection /\n (dot-prefix ; MODIFICATION: surrogate text rule used\n (wildcard-selector /\n member-name-shorthand))\n\nbracketed-selection = left-bracket S selector *(S comma S selector) S right-bracket\n ; MODIFICATION: surrogate text rule used\n\nmember-name-shorthand = name-first *name-char\nname-first = ALPHA /\n "_" /\n %x80-D7FF /\n ; skip surrogate code points\n %xE000-10FFFF\nname-char = name-first / DIGIT\n\nDIGIT = %x30-39 ; 0-9\nALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.2.1\ndescendant-segment = double-dot-prefix (bracketed-selection / ; MODIFICATION: surrogate text rule used\n wildcard-selector /\n member-name-shorthand)\n\n; https://www.rfc-editor.org/rfc/rfc9535#name-normalized-paths\nnormalized-path = root-identifier *(normal-index-segment)\nnormal-index-segment = left-bracket normal-selector right-bracket ; MODIFICATION: surrogate text rule used\nnormal-selector = normal-name-selector / normal-index-selector\nnormal-name-selector = squote *normal-single-quoted squote ; \'string\', MODIFICATION: surrogate text rule used\nnormal-single-quoted = normal-unescaped /\n ESC normal-escapable\nnormal-unescaped = ; omit %x0-1F control codes\n %x20-26 /\n ; omit 0x27 \'\n %x28-5B /\n ; omit 0x5C \\\n %x5D-D7FF /\n ; skip surrogate code points\n %xE000-10FFFF\n\nnormal-escapable = %x62 / ; b BS backspace U+0008\n %x66 / ; f FF form feed U+000C\n %x6E / ; n LF line feed U+000A\n %x72 / ; r CR carriage return U+000D\n %x74 / ; t HT horizontal tab U+0009\n "\'" / ; \' apostrophe U+0027\n "\\" / ; \\ backslash (reverse solidus) U+005C\n (%x75 normal-hexchar)\n ; certain values u00xx U+00XX\nnormal-hexchar = "0" "0"\n (\n ("0" %x30-37) / ; "00"-"07"\n ; omit U+0008-U+000A BS HT LF\n ("0" %x62) / ; "0b"\n ; omit U+000C-U+000D FF CR\n ("0" %x65-66) / ; "0e"-"0f"\n ("1" normal-HEXDIG)\n )\nnormal-HEXDIG = DIGIT / %x61-66 ; "0"-"9", "a"-"f"\nnormal-index-selector = "0" / (DIGIT1 *DIGIT)\n ; non-negative decimal integer\n\n; Surrogate named rules\ndot-prefix = "."\ndouble-dot-prefix = ".."\nleft-bracket = "["\nright-bracket = "]"\nleft-paren = "("\nright-paren = ")"\ncomma = ","\ncolon = ":"\ndquote = %x22 ; "\nsquote = %x27 ; \'\nquestionmark = "?"\ndisjunction = "||"\nconjunction = "&&"\n'}};const Xe=class extends Ve{},Je=e=>{if(!Array.isArray(e))throw new Xe("Selectors must be an array, got: "+typeof e,{selectors:e});try{return`$${e.map(e=>{if("string"==typeof e)return`['${(e=>{if("string"!=typeof e)throw new TypeError("Selector must be a string");let t="";for(const r of e){const e=r.codePointAt(0);switch(e){case 8:t+="\\b";break;case 9:t+="\\t";break;case 10:t+="\\n";break;case 12:t+="\\f";break;case 13:t+="\\r";break;case 39:t+="\\'";break;case 92:t+="\\\\";break;default:t+=e<=31?`\\u${e.toString(16).padStart(4,"0")}`:r}}return t})(e)}']`;if("number"==typeof e){if(!Number.isSafeInteger(e)||e<0)throw new TypeError(`Index selector must be a non-negative safe integer, got: ${e}`);return`[${e}]`}throw new TypeError("Selector must be a string or non-negative integer, got: "+typeof e)}).join("")}`}catch(t){throw new Xe("Failed to compile normalized JSONPath",{cause:t,selectors:e})}},Ye=(e,t,r,n)=>{const{realm:s}=e,{value:o}=r;if(s.isObject(t)&&s.hasProperty(t,o)){n(s.getProperty(t,o),o)}},We=(e,t,r,n)=>{const{realm:s}=e,{value:o}=r;if(!s.isArray(t))return;const i=s.getLength(t),a=((e,t)=>e>=0?e:t+e)(o,i);if(a>=0&&a<i){n(s.getElement(t,a),a)}},Ke=(e,t,r,n)=>{const{realm:s}=e;for(const[e,r]of s.entries(t))n(r,e)},Qe=(e,t)=>e>=0?Math.min(e,t):Math.max(t+e,0),Ze=(e,t,r,n)=>{const{realm:s}=e,{start:o,end:i,step:a}=r;if(!s.isArray(t))return;const c=((e,t,r,n)=>{const s=r??1;if(0===s)return null;let o,i;if(s>0){const r=0,s=n,a=null!==e?Qe(e,n):r,c=null!==t?Qe(t,n):s;o=Math.max(a,0),i=Math.min(c,n)}else{const r=n-1,s=-n-1,a=null!==e?e>=0?Math.min(e,n-1):Math.max(n+e,-1):r,c=null!==t?t>=0?Math.min(t,n-1):Math.max(n+t,-1):s;i=Math.min(a,n-1),o=Math.max(c,-1)}return{lower:o,upper:i,step:s}})(o,i,a,s.getLength(t));if(null===c)return;const{lower:l,upper:u,step:p}=c;if(p>0)for(let e=l;e<u;e+=p){n(s.getElement(t,e),e)}else for(let e=u;e>l;e+=p){n(s.getElement(t,e),e)}},et=(e,t,r,n)=>n.value,tt=(e,t,r)=>{const{realm:n}=e,{selector:s}=r;switch(s.type){case"NameSelector":{const{value:e}=s;return n.isObject(t)&&n.hasProperty(t,e)?n.getProperty(t,e):void 0}case"IndexSelector":{const{value:e}=s;if(!n.isArray(t))return;const r=n.getLength(t),o=e>=0?e:r+e;return o>=0&&o<r?n.getElement(t,o):void 0}default:return}},rt=(e,t,r,n)=>{const{selectors:s}=r;for(const r of s)ft(e,t,r,n)},nt=(e,t,r)=>{const n=[],s=e=>{n.push(e)},{selector:o}=r;switch(o.type){case"BracketedSelection":rt(e,t,o,s);break;case"NameSelector":case"WildcardSelector":case"IndexSelector":case"SliceSelector":case"FilterSelector":ft(e,t,o,s)}return n},st=(e,t,r,n)=>{let s=r;for(const t of n){const r=[];if("DescendantSegment"===t.type){const n=s=>{const{realm:o}=e,i=nt(e,s,t);r.push(...i);for(const[,e]of o.entries(s))n(e)};for(const e of s)n(e)}else for(const n of s){const s=nt(e,n,t);r.push(...s)}s=r}return s},ot=(e,t,r,n)=>{const{query:s}=n;let o;switch(s.type){case"RelQuery":o=((e,t,r,n)=>{const{segments:s}=n;return 0===s.length?[r]:st(e,0,[r],s)})(e,0,r,s);break;case"JsonPathQuery":o=((e,t,r,n)=>{const{segments:s}=n;return 0===s.length?[t]:st(e,0,[t],s)})(e,t,0,s);break;default:o=[]}return i=o,Object.defineProperty(i,"_isNodelist",{value:!0,enumerable:!1,writable:!1}),i;var i};let it;const at=(e,t,r,n)=>{const{name:s,arguments:o}=n,i=e.functions[s];if("function"!=typeof i)return;const a=o.map(n=>((e,t,r,n)=>{switch(n.type){case"Literal":case"RelSingularQuery":case"AbsSingularQuery":case"FunctionExpr":return ct(e,t,r,n);case"FilterQuery":return ot(e,t,r,n);case"TestExpr":return"FilterQuery"===n.expression.type?ot(e,t,r,n.expression):"FunctionExpr"===n.expression.type?ct(e,t,r,n.expression):it(e,t,r,n);case"LogicalOrExpr":case"LogicalAndExpr":case"LogicalNotExpr":case"ComparisonExpr":return it(e,t,r,n);default:return}})(e,t,r,n));return i(e.realm,...a)},ct=(e,t,r,n)=>{switch(n.type){case"Literal":return et(e,t,r,n);case"RelSingularQuery":return((e,t,r,n)=>{let s=r;for(const t of n.segments)if(s=tt(e,s,t),void 0===s)return;return s})(e,0,r,n);case"AbsSingularQuery":return((e,t,r,n)=>{let s=t;for(const t of n.segments)if(s=tt(e,s,t),void 0===s)return;return s})(e,t,0,n);case"FunctionExpr":return at(e,t,r,n);default:return}},lt=(e,t,r,n)=>{const{left:s,op:o,right:i}=n,a=ct(e,t,r,s),c=ct(e,t,r,i);return e.realm.compare(a,o,c)},ut=e=>Array.isArray(e),pt=(e,t,r,n)=>{switch(n.type){case"LogicalOrExpr":return!!pt(e,t,r,n.left)||pt(e,t,r,n.right);case"LogicalAndExpr":return!!pt(e,t,r,n.left)&&pt(e,t,r,n.right);case"LogicalNotExpr":return!pt(e,t,r,n.expression);case"TestExpr":{const{expression:s}=n;if("FilterQuery"===s.type){return ot(e,t,r,s).length>0}if("FunctionExpr"===s.type){const n=at(e,t,r,s);return"boolean"==typeof n?n:void 0!==n&&(ut(n)?n.length>0:Boolean(n))}return!1}case"ComparisonExpr":return lt(e,t,r,n);default:return!1}};it=pt;const dt=pt,ht=(e,t,r,n)=>{const{realm:s,root:o}=e,{expression:i}=r;for(const[r,a]of s.entries(t)){dt(e,o,a,i)&&n(a,r)}},ft=(e,t,r,n)=>{switch(r.type){case"NameSelector":Ye(e,t,r,n);break;case"IndexSelector":We(e,t,r,n);break;case"WildcardSelector":Ke(e,t,r,n);break;case"SliceSelector":Ze(e,t,r,n);break;case"FilterSelector":ht(e,t,r,n)}};new Map;class mt{node;key;index;parent;parentPath;inList;#n=!1;#s=!1;#o=!1;#i=!1;#a;#c=!1;constructor(e,t,r,n,s){this.node=e,this.parent=t,this.parentPath=r,this.key=n,this.index=s&&"number"==typeof n?n:void 0,this.inList=s}get shouldSkip(){return this.#n}get shouldStop(){return this.#s}get removed(){return this.#o}isRoot(){return null===this.parentPath}get depth(){let e=0,t=this.parentPath;for(;null!==t;)e+=1,t=t.parentPath;return e}getAncestry(){const e=[];let t=this.parentPath;for(;null!==t;)e.push(t),t=t.parentPath;return e}getAncestorNodes(){return this.getAncestry().map(e=>e.node)}getPathKeys(){const e=[];let t=this;for(;null!==t&&void 0!==t.key;)e.unshift(t.key),t=t.parentPath;return e}formatPath(e="jsonpointer"){const t=this.getPathKeys();return 0===t.length?"jsonpath"===e?"$":"":"jsonpath"===e?Je(t):B(t)}findParent(e){let t=this.parentPath;for(;null!==t;){if(e(t))return t;t=t.parentPath}return null}find(e){return e(this)?this:this.findParent(e)}skip(){this.#n=!0}stop(){this.#s=!0}replaceWith(e){this.#c&&console.warn("Warning: replaceWith() called on a stale Path. This path belongs to a node whose visit has already completed. The replacement will have no effect. To replace a parent node, do so from the parent's own visitor."),this.#i=!0,this.#a=e,this.node=e}remove(){this.#c&&console.warn("Warning: remove() called on a stale Path. This path belongs to a node whose visit has already completed. The removal will have no effect. To remove a parent node, do so from the parent's own visitor."),this.#o=!0}_getReplacementNode(){return this.#a}_wasReplaced(){return this.#i}_reset(){this.#n=!1,this.#s=!1,this.#o=!1,this.#i=!1,this.#a=void 0}_markStale(){this.#c=!0}}function yt(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,r){return t.apply(this,arguments)};case 3:return function(e,r,n){return t.apply(this,arguments)};case 4:return function(e,r,n,s){return t.apply(this,arguments)};case 5:return function(e,r,n,s,o){return t.apply(this,arguments)};case 6:return function(e,r,n,s,o,i){return t.apply(this,arguments)};case 7:return function(e,r,n,s,o,i,a){return t.apply(this,arguments)};case 8:return function(e,r,n,s,o,i,a,c){return t.apply(this,arguments)};case 9:return function(e,r,n,s,o,i,a,c,l){return t.apply(this,arguments)};case 10:return function(e,r,n,s,o,i,a,c,l,u){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function gt(e,t,r){return function(){for(var n=[],s=0,o=e,i=0,a=!1;i<t.length||s<arguments.length;){var c;i<t.length&&(!W(t[i])||s>=arguments.length)?c=t[i]:(c=arguments[s],s+=1),n[i]=c,W(c)?a=!0:o-=1,i+=1}return!a&&o<=0?r.apply(this,n):yt(Math.max(0,o),gt(e,n,r))}}var xt=Q(function(e,t){return 1===e?K(t):yt(e,gt(e,[],t))});const wt=xt;function bt(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t||"[object GeneratorFunction]"===t||"[object AsyncGeneratorFunction]"===t}const kt=Q(function(e,t){return e&&t});function vt(e,t,r){for(var n=0,s=r.length;n<s;)t=e(t,r[n]),n+=1;return t}const Tt=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};const At=K(function(e){return!!Tt(e)||!!e&&("object"==typeof e&&(!function(e){return"[object String]"===Object.prototype.toString.call(e)}(e)&&(0===e.length||e.length>0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))});var St="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function Et(e,t,r){return function(n,s,o){if(At(o))return e(n,s,o);if(null==o)return s;if("function"==typeof o["fantasy-land/reduce"])return t(n,s,o,"fantasy-land/reduce");if(null!=o[St])return r(n,s,o[St]());if("function"==typeof o.next)return r(n,s,o);if("function"==typeof o.reduce)return t(n,s,o,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function Ot(e,t,r){for(var n=r.next();!n.done;)t=e(t,n.value),n=r.next();return t}function It(e,t,r,n){return r[n](e,t)}const Ct=Et(vt,It,Ot);function Pt(e,t,r){return function(){if(0===arguments.length)return r();var n=arguments[arguments.length-1];if(!Tt(n)){for(var s=0;s<e.length;){if("function"==typeof n[e[s]])return n[e[s]].apply(n,Array.prototype.slice.call(arguments,0,-1));s+=1}if(function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}(n))return t.apply(null,Array.prototype.slice.call(arguments,0,-1))(n)}return r.apply(this,arguments)}}function Mt(e,t){for(var r=0,n=t.length,s=Array(n);r<n;)s[r]=e(t[r]),r+=1;return s}const Nt=function(){return this.xf["@@transducer/init"]()},jt=function(e){return this.xf["@@transducer/result"](e)};var Ft=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=Nt,e.prototype["@@transducer/result"]=jt,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}();var Dt=Q(Pt(["fantasy-land/map","map"],function(e){return function(t){return new Ft(e,t)}},function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return wt(t.length,function(){return e.call(this,t.apply(this,arguments))});case"[object Object]":return vt(function(r,n){return r[n]=e(t[n]),r},{},ue(t));default:return Mt(e,t)}}));const Lt=Dt;const Bt=Q(function(e,t){return"function"==typeof t["fantasy-land/ap"]?t["fantasy-land/ap"](e):"function"==typeof e.ap?e.ap(t):"function"==typeof e?function(r){return e(r)(t(r))}:Ct(function(e,r){return function(e,t){var r;t=t||[];var n=(e=e||[]).length,s=t.length,o=[];for(r=0;r<n;)o[o.length]=e[r],r+=1;for(r=0;r<s;)o[o.length]=t[r],r+=1;return o}(e,Lt(r,t))},[],e)});var $t=Q(function(e,t){var r=wt(e,t);return wt(e,function(){return vt(Bt,Lt(r,arguments[0]),Array.prototype.slice.call(arguments,1))})});const qt=$t;var _t=K(function(e){return qt(e.length,e)});const Rt=_t;const Ut=Q(function(e,t){return bt(e)?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:Rt(kt)(e,t)});function Ht(e,t){return function(){return t.call(this,e.apply(this,arguments))}}function Gt(e){return function t(r,n,s){switch(arguments.length){case 0:return t;case 1:return W(r)?t:Q(function(t,n){return e(r,t,n)});case 2:return W(r)&&W(n)?t:W(r)?Q(function(t,r){return e(t,n,r)}):W(n)?Q(function(t,n){return e(r,t,n)}):K(function(t){return e(r,n,t)});default:return W(r)&&W(n)&&W(s)?t:W(r)&&W(n)?Q(function(t,r){return e(t,r,s)}):W(r)&&W(s)?Q(function(t,r){return e(t,n,r)}):W(n)&&W(s)?Q(function(t,n){return e(r,t,n)}):W(r)?K(function(t){return e(t,n,s)}):W(n)?K(function(t){return e(r,t,s)}):W(s)?K(function(t){return e(r,n,t)}):e(r,n,s)}}}function zt(e,t,r){for(var n=0,s=r.length;n<s;){if((t=e["@@transducer/step"](t,r[n]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n+=1}return e["@@transducer/result"](t)}var Vt=Q(function(e,t){return yt(e.length,function(){return e.apply(t,arguments)})});const Xt=Vt;function Jt(e,t,r){for(var n=r.next();!n.done;){if((t=e["@@transducer/step"](t,n.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n=r.next()}return e["@@transducer/result"](t)}function Yt(e,t,r,n){return e["@@transducer/result"](r[n](Xt(e["@@transducer/step"],e),t))}const Wt=Et(zt,Yt,Jt);var Kt=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();var Qt=Gt(function(e,t,r){return Wt("function"==typeof e?function(e){return new Kt(e)}(e):e,t,r)});const Zt=Qt;function er(e,t){return function(){var r=arguments.length;if(0===r)return t();var n=arguments[r-1];return Tt(n)||"function"!=typeof n[e]?t.apply(this,arguments):n[e].apply(n,Array.prototype.slice.call(arguments,0,r-1))}}const tr=K(er("tail",Gt(er("slice",function(e,t,r){return Array.prototype.slice.call(r,e,t)}))(1,1/0)));function rr(){if(0===arguments.length)throw new Error("pipe requires at least one argument");return yt(arguments[0].length,Zt(Ht,arguments[0],tr(arguments)))}function nr(e,t){return function(e,t,r){var n,s;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(n=1/t;r<e.length;){if(0===(s=e[r])&&1/s===n)return r;r+=1}return-1}if(t!=t){for(;r<e.length;){if("number"==typeof(s=e[r])&&s!=s)return r;r+=1}return-1}return e.indexOf(t,r);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,r);case"object":if(null===t)return e.indexOf(t,r)}for(;r<e.length;){if(fe(e[r],t))return r;r+=1}return-1}(t,e,0)>=0}function sr(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var or=function(e){return(e<10?"0":"")+e};const ir="function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+or(e.getUTCMonth()+1)+"-"+or(e.getUTCDate())+"T"+or(e.getUTCHours())+":"+or(e.getUTCMinutes())+":"+or(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};var ar=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=Nt,e.prototype["@@transducer/result"]=jt,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}();function cr(e){return function(t){return new ar(e,t)}}var lr=Q(Pt(["fantasy-land/filter","filter"],cr,function(e,t){return r=t,"[object Object]"===Object.prototype.toString.call(r)?vt(function(r,n){return e(t[n])&&(r[n]=t[n]),r},{},ue(t)):function(e){return"[object Map]"===Object.prototype.toString.call(e)}(t)?function(e,t){for(var r=new Map,n=t.entries(),s=n.next();!s.done;)e(s.value[1])&&r.set(s.value[0],s.value[1]),s=n.next();return r}(e,t):function(e,t){for(var r=0,n=t.length,s=[];r<n;)e(t[r])&&(s[s.length]=t[r]),r+=1;return s}(e,t);var r}));const ur=lr;const pr=Q(function(e,t){return ur((r=e,function(){return!r.apply(this,arguments)}),t);var r});function dr(e,t){var r=function(r){var n=t.concat([e]);return nr(r,n)?"<Circular>":dr(r,n)},n=function(e,t){return Mt(function(t){return sr(t)+": "+r(e[t])},t.slice().sort())};switch(Object.prototype.toString.call(e)){case"[object Arguments]":return"(function() { return arguments; }("+Mt(r,e).join(", ")+"))";case"[object Array]":return"["+Mt(r,e).concat(n(e,pr(function(e){return/^\d+$/.test(e)},ue(e)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof e?"new Boolean("+r(e.valueOf())+")":e.toString();case"[object Date]":return"new Date("+(isNaN(e.valueOf())?r(NaN):sr(ir(e)))+")";case"[object Map]":return"new Map("+r(Array.from(e))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof e?"new Number("+r(e.valueOf())+")":1/e==-1/0?"-0":e.toString(10);case"[object Set]":return"new Set("+r(Array.from(e).sort())+")";case"[object String]":return"object"==typeof e?"new String("+r(e.valueOf())+")":sr(e);case"[object Undefined]":return"undefined";default:if("function"==typeof e.toString){var s=e.toString();if("[object Object]"!==s)return s}return"{"+n(e,ue(e)).join(", ")+"}"}}const hr=K(function(e){return dr(e,[])});const fr=Q(function(e,t){return e||t});const mr=Q(function(e,t){return bt(e)?function(){return e.apply(this,arguments)||t.apply(this,arguments)}:Rt(fr)(e,t)});const yr=Rt(K(function(e){return!e}))(fe(null));const gr=Q(function(e,t){if(e===t)return t;function r(e,t){if(e>t!=t>e)return t>e?t:e}var n=r(e,t);if(void 0!==n)return n;var s=r(typeof e,typeof t);if(void 0!==s)return s===typeof e?e:t;var o=hr(e),i=r(o,hr(t));return void 0!==i&&i===o?e:t}),xr=Number.isInteger||function(e){return(e|0)===e};function wr(e,t){return t[e<0?t.length+e:e]}const br=Q(function(e,t){if(null!=t)return xr(e)?wr(e,t):t[e]});const kr=Q(function(e,t){return Lt(br(e),t)});const vr=K(function(e){return wt(Zt(gr,0,kr("length",e)),function(){for(var t=0,r=e.length;t<r;){if(e[t].apply(this,arguments))return!0;t+=1}return!1})});var Tr=function(e,t){switch(arguments.length){case 0:return Tr;case 1:return function t(r){return 0===arguments.length?t:re(e,r)};default:return re(e,t)}};const Ar=Tr;const Sr=wt(1,rr(pe,Ar("GeneratorFunction")));const Er=wt(1,rr(pe,Ar("AsyncFunction")));var Or=vr([rr(pe,Ar("Function")),Sr,Er]);function Ir(e){return Ir="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ir(e)}var Cr=wt(1,Ut(yr,mr(function(e){return"object"===Ir(e)},Or)));const Pr=wt(1,Ut(Cr,rr(hr,fe("[object Promise]")))),Mr=e=>{const t=e?.element;return void 0===t||"element"===t?"Element":`${t.charAt(0).toUpperCase()}${t.slice(1)}Element`},Nr=e=>Se(e),jr=e=>He(e),Fr=(e,t,r)=>{Ie(e)?e.value=r:Array.isArray(e)?e[t]=null===r?void 0:r:null===r?delete e[t]:e[t]=r},Dr=e=>Ie(e)?["key","value"]:Ee(e)||Oe(e)?["content"]:[],Lr=(e,t)=>{if(void 0!==e[t])return e[t];const r=t.length;for(const n in e){if(!n.includes("|"))continue;const s=n.indexOf(t);if(-1===s)continue;const o=0===s||"|"===n[s-1],i=s+r===n.length||"|"===n[s+r];if(o&&i)return e[n]}},Br=(e,t,r)=>{if(void 0===t)return null;const n=e,s=r?"leave":"enter",o=Lr(n,t);if(!r&&"function"==typeof o)return o;if(null!=o){const e=o[s];if("function"==typeof e)return e}const i=n[s];if("function"==typeof i)return i;if(null!=i){const e=Lr(i,t);if("function"==typeof e)return e}return null};function $r(e,t){return new mt(t,e.parent,e.parentPath,e.key,e.inList)}function*qr(e,t,r){const{keyMap:n,state:s,nodeTypeGetter:o,nodePredicate:a,nodeCloneFn:c,detectCycles:l,mutable:u,mutationFn:p}=r,d="function"==typeof n;let h,f,m=Array.isArray(e),y=[e],g=-1,x=[],w=e,b=null,k=null;const v=[];do{g+=1;const e=g===y.length;let r;const T=e&&0!==x.length;if(e){if(r=0===v.length?void 0:b?.key,w=f,f=v.pop(),k=b?.parentPath?.parentPath??null,T)if(u)for(const[e,t]of x)p(w,e,t);else if(m){w=w.slice();let e=0;for(const[t,r]of x){const n=t-e;null===r?(w.splice(n,1),e+=1):w[n]=r}}else{w=c(w);for(const[e,t]of x)w[e]=t}if(void 0!==h){g=h.index,y=h.keys,x=h.edits;const e=h.inArray;if(k=h.parentPath,h=h.prev,T&&!u){const t=e?g:y[g];x.push([t,w])}m=e}}else if(void 0!==f&&(r=m?g:y[g],w=f[r],void 0===w))continue;if(!Array.isArray(w)){if(!a(w))throw new i(`Invalid AST Node: ${String(w)}`,{node:w});if(l&&v.includes(w))continue;b=new mt(w,f,k,r,m);const n=Br(t,o(w),e);if(n){for(const[e,r]of Object.entries(s))t[e]=r;const o=yield{visitFn:n,path:b,isLeaving:e};if(b.shouldStop)break;if(b.shouldSkip&&!e)continue;if(b.removed){if(x.push([r,null]),!e)continue}else if(b._wasReplaced()){const t=b._getReplacementNode();if(x.push([r,t]),!e){if(!a(t))continue;w=t}}else if(void 0!==o&&(x.push([r,o]),!e)){if(!a(o))continue;w=o}b._markStale()}}if(!e){if(h={inArray:m,index:g,keys:y,edits:x,parentPath:k,prev:h},m=Array.isArray(w),m)y=w;else if(d)y=n(w);else{const e=o(w);y=void 0!==e?n[e]??[]:[]}g=-1,x=[],void 0!==f&&v.push(f),f=w,k=b}}while(void 0!==h);return 0!==x.length?x.at(-1)[1]:e}((e,t={})=>{const{visitFnGetter:r=Br,nodeTypeGetter:n=Mr,exposeEdits:s=!1}=t,o=Symbol("internal-skip"),a=Symbol("break"),c=new Array(e.length).fill(o);return{enter(t){let l=t.node,u=!1;for(let p=0;p<e.length;p+=1)if(c[p]===o){const o=r(e[p],n(l),!1);if("function"==typeof o){const r=$r(t,l),n=o.call(e[p],r);if(Pr(n))throw new i("Async visitor not supported in sync mode",{visitor:e[p],visitFn:o});if(r.shouldStop){c[p]=a;break}if(r.shouldSkip&&(c[p]=l),r.removed)return void t.remove();if(r._wasReplaced()){const e=r._getReplacementNode();if(!s)return t.replaceWith(e),e;l=e,u=!0}else if(void 0!==n){if(!s)return t.replaceWith(n),n;l=n,u=!0}}}if(u)return t.replaceWith(l),l},leave(t){const s=t.node;for(let l=0;l<e.length;l+=1)if(c[l]===o){const o=r(e[l],n(s),!0);if("function"==typeof o){const r=$r(t,s),n=o.call(e[l],r);if(Pr(n))throw new i("Async visitor not supported in sync mode",{visitor:e[l],visitFn:o});if(r.shouldStop){c[l]=a;break}if(r.removed)return void t.remove();if(r._wasReplaced()){const e=r._getReplacementNode();return t.replaceWith(e),e}if(void 0!==n)return t.replaceWith(n),n}}else c[l]===s&&(c[l]=o)}}})[Symbol.for("nodejs.util.promisify.custom")]=(e,t={})=>{const{visitFnGetter:r=Br,nodeTypeGetter:n=Mr,exposeEdits:s=!1}=t,o=Symbol("internal-skip"),i=Symbol("break"),a=new Array(e.length).fill(o);return{async enter(t){let c=t.node,l=!1;for(let u=0;u<e.length;u+=1)if(a[u]===o){const o=r(e[u],n(c),!1);if("function"==typeof o){const r=$r(t,c),n=await o.call(e[u],r);if(r.shouldStop){a[u]=i;break}if(r.shouldSkip&&(a[u]=c),r.removed)return void t.remove();if(r._wasReplaced()){const e=r._getReplacementNode();if(!s)return t.replaceWith(e),e;c=e,l=!0}else if(void 0!==n){if(!s)return t.replaceWith(n),n;c=n,l=!0}}}if(l)return t.replaceWith(c),c},async leave(t){const s=t.node;for(let c=0;c<e.length;c+=1)if(a[c]===o){const o=r(e[c],n(s),!0);if("function"==typeof o){const r=$r(t,s),n=await o.call(e[c],r);if(r.shouldStop){a[c]=i;break}if(r.removed)return void t.remove();if(r._wasReplaced()){const e=r._getReplacementNode();return t.replaceWith(e),e}if(void 0!==n)return t.replaceWith(n),n}}else a[c]===s&&(a[c]=o)}}};const _r=(e,t,r={})=>{const n=qr(e,t,{keyMap:r.keyMap??Dr,state:r.state??{},nodeTypeGetter:r.nodeTypeGetter??Mr,nodePredicate:r.nodePredicate??Nr,nodeCloneFn:r.nodeCloneFn??jr,detectCycles:r.detectCycles??!0,mutable:r.mutable??!1,mutationFn:r.mutationFn??Fr});let s=n.next();for(;!s.done;){const e=s.value,r=e.visitFn.call(t,e.path);if(Pr(r))throw new i("Async visitor not supported in sync mode",{visitor:t,visitFn:e.visitFn});s=n.next(r)}return s.value},Rr=async(e,t,r={})=>{const n=qr(e,t,{keyMap:r.keyMap??Dr,state:r.state??{},nodeTypeGetter:r.nodeTypeGetter??Mr,nodePredicate:r.nodePredicate??Nr,nodeCloneFn:r.nodeCloneFn??jr,detectCycles:r.detectCycles??!0,mutable:r.mutable??!1,mutationFn:r.mutationFn??Fr});let s=n.next();for(;!s.done;){const e=s.value,r=await e.visitFn.call(t,e.path);s=n.next(r)}return s.value};_r[Symbol.for("nodejs.util.promisify.custom")]=Rr,mt.prototype.traverse=function(e,t){return _r(this.node,e,t)},mt.prototype.traverseAsync=function(e,t){return Rr(this.node,e,t)};const Ur=class extends q{name="apidom";isArray(e){return Ee(e)}isObject(e){return Oe(e)}sizeOf(e){return this.isArray(e)||this.isObject(e)?e.length:0}has(e,t){if(this.isArray(e)){const r=Number(t),n=r>>>0;if(r!==n)throw new R(`Invalid array index "${t}": index must be an unsinged 32-bit integer`,{referenceToken:t,currentValue:e,realm:this.name});return n<this.sizeOf(e)}if(this.isObject(e)){const r=e.keys(),n=new Set(r);if(r.length!==n.size)throw new G(`Object key "${t}" is not unique — JSON Pointer requires unique member names`,{referenceToken:t,currentValue:e,realm:this.name});return e.hasKey(t)}return!1}evaluate(e,t){return this.isArray(e)?e.get(Number(t)):e.get(t)}},Hr=new Ur;const Gr=K(function(e){return wr(-1,e)}),zr=(e,t,r)=>{let n,s=[],o=t;if(_r(r,{enter(e){e.node===t&&(s=e.getAncestorNodes().reverse().filter(Se),e.stop())}}),0===s.length)throw new l("Relative JSON Pointer evaluation failed. Current element not found inside the root element",{relativePointer:e,currentElement:_e(t),rootElement:_e(r),cursorElement:_e.safe(o)});if(Gr(s)===r)throw new l("Relative JSON Pointer evaluation failed. Current element cannot be the root element",{relativePointer:e,currentElement:t,rootElement:r,cursorElement:o});try{n=J(e)}catch(r){throw new l("Relative JSON Pointer evaluation failed while parsing the pointer.",{relativePointer:e,currentElement:_e(t),rootElement:_e(t),cursorElement:_e.safe(o),cause:r})}if(n.nonNegativeIntegerPrefix>0){const i=[...s];for(let{nonNegativeIntegerPrefix:e}=n;e>0;e-=1)o=i.pop(),Ie(o)&&(o=i.pop());if(void 0===o)throw new l(`Relative JSON Pointer evaluation failed on non-negative-integer prefix of "${n.nonNegativeIntegerPrefix}"`,{relativePointer:e,currentElement:_e(t),rootElement:_e(r),cursorElement:_e.safe(o)});s=i}if("number"==typeof n.indexManipulation){const i=Gr(s);if(void 0===i||!Ee(i))throw new l(`Relative JSON Pointer evaluation failed failed on index-manipulation "${n.indexManipulation}"`,{relativePointer:e,currentElement:_e(t),rootElement:_e(r),cursorElement:_e.safe(o)});const a=i.content,c=a.indexOf(o);if(o=a[c+n.indexManipulation],void 0===o)throw new l(`Relative JSON Pointer evaluation failed on index-manipulation "${n.indexManipulation}"`,{relativePointer:e,currentElement:_e(t),rootElement:_e(r),cursorElement:_e.safe(o)})}if(Array.isArray(n.jsonPointerTokens)){o=((e,t,r={})=>z(e,t,{...r,realm:Hr}))(o,B(n.jsonPointerTokens))}else if(n.hashCharacter){if(o===r)throw new l('Relative JSON Pointer evaluation failed. Current element cannot be the root element to apply "#"',{relativePointer:e,currentElement:_e(t),rootElement:_e(r),cursorElement:_e.safe(o)});const n=Gr(s);void 0!==n&&(Ie(n)?o=n.key:Ee(n)&&(o=new Ge(n.content.indexOf(o))))}return o};return t})());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@speclynx/apidom-json-pointer-relative",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Evaluate Relative JSON Pointer expressions against ApiDOM.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
"license": "Apache-2.0",
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@babel/runtime-corejs3": "^7.28.4",
|
|
42
|
-
"@speclynx/apidom-core": "^2.0
|
|
43
|
-
"@speclynx/apidom-datamodel": "^2.0
|
|
44
|
-
"@speclynx/apidom-error": "^2.0
|
|
45
|
-
"@speclynx/apidom-json-pointer": "^2.0
|
|
46
|
-
"@speclynx/apidom-traverse": "^2.0
|
|
42
|
+
"@speclynx/apidom-core": "^2.2.0",
|
|
43
|
+
"@speclynx/apidom-datamodel": "^2.2.0",
|
|
44
|
+
"@speclynx/apidom-error": "^2.2.0",
|
|
45
|
+
"@speclynx/apidom-json-pointer": "^2.2.0",
|
|
46
|
+
"@speclynx/apidom-traverse": "^2.2.0",
|
|
47
47
|
"ramda": "~0.32.0",
|
|
48
48
|
"ramda-adjunct": "^6.0.0"
|
|
49
49
|
},
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"README.md",
|
|
58
58
|
"CHANGELOG.md"
|
|
59
59
|
],
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "a3bfd57f83437ee123f2ef3175aedf30dd860b67"
|
|
61
61
|
}
|