diff --git a/.gitignore b/.gitignore index 21bf7e5e..cf3f11cd 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ /lib ## Others. +/docs /coverage /.cache diff --git a/babel.config.cjs b/babel.config.cjs new file mode 100644 index 00000000..f309eae3 --- /dev/null +++ b/babel.config.cjs @@ -0,0 +1,8 @@ +const config = { + presets: [ + ['@babel/preset-env', { targets: { node: 'current' } }], + '@babel/preset-typescript', + ], +}; + +module.exports = config; diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index e2ac6616..00000000 --- a/docs/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/custom.css b/docs/assets/custom.css deleted file mode 100644 index 0fe534ad..00000000 --- a/docs/assets/custom.css +++ /dev/null @@ -1,21 +0,0 @@ -/* Remove ugly square in bottom-right corner when scroll shows up. */ -*::-webkit-scrollbar { - width: 0px; -} - -/* Add margin after code. */ -.tsd-comment { - margin-bottom: 2em; -} - -/* Avoid word wrapping when code doesn't fit into avaiable width. */ -.tsd-comment > pre { - white-space: pre; - overflow: scroll; -} - -/* Remove ugly border radius in code. */ -.tsd-comment > pre, -.tsd-comment > code { - border-radius: 0px; -} diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js deleted file mode 100644 index 38f85ce4..00000000 --- a/docs/assets/hierarchy.js +++ /dev/null @@ -1 +0,0 @@ -window.hierarchyData = "eJydl99vmzAQx/8XP187/8bmcW03aZqqKJWmSVUeKHgKCgFmyLStyv8+kaipCdE454UH9P36c3f4zuaV+KbpO5I+yxUQ735ULu/Lpu5I+krk8KizrSMpeXK+zKryb/ZSOQJkU9YFSRk3QHa+IinJq6zrXPehzfKN67vbUH+77rcVgaOGpKTvipthgZvjCyD5uqwK72qSPisKyhqwhgKnjK72QBQN4lgc1sdEcFTGsBmTIKQFKczAZSwswLJv8eyTeAa/ByKkHVHyKEyO45yV2IA2CgxVYKwGRrUAZjkFQenwMHJIXwoTBHbXbNtmVxf44MaO+UIoGvKWLnflL+eXrm18H1GSCz4E256z26ELjotgsYFlnqiNGnVXXcTnOnXNcw0NuR//ODzuJEZQrA6zK1wXkdVJPc+xhp5x7ta7eoPFHMTzlKFBAswn54qXLN/gUxo74kaSNsC4pcBEYoApaoEpmwBLmARmOD9OKh3u38eo4B6xgQ0gbkcF90v3M+LLvssRKJGEOT3kNR50EiMwiobzd1GVESfMmxiDsUlYuBjMUwQmGZ9ZbRfBeVcjQIbzAPTZ1c6XeXxnXDQi8JaH+/C7xxPftPOQ4f4R7sDf/TBvC/yhMHbEtD2niQHOtAbOlQQuJAcuqQEukwS4FhS44Ry4ZXZ1CHXULF995eLDnboQNWI6nPT3V4GnLgSYq3CnL3wfz52YEFghw32/vAY7MSGwcnQ5uq+8v6LMExcGnIzmVhePPfcgoFqEjfdtGw899yCg44n2kNdXNPy5CYG1zE4HaTz6ohHx90HppRn3pez7t5tlxNXtP3ZMKEZOKxF9lOBw+/0/fO3sVQ==" \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css deleted file mode 100644 index ded7f78f..00000000 --- a/docs/assets/highlight.css +++ /dev/null @@ -1,92 +0,0 @@ -:root { - --light-hl-0: #AF00DB; - --dark-hl-0: #C586C0; - --light-hl-1: #000000; - --dark-hl-1: #D4D4D4; - --light-hl-2: #001080; - --dark-hl-2: #9CDCFE; - --light-hl-3: #A31515; - --dark-hl-3: #CE9178; - --light-hl-4: #0000FF; - --dark-hl-4: #569CD6; - --light-hl-5: #0070C1; - --dark-hl-5: #4FC1FF; - --light-hl-6: #008000; - --dark-hl-6: #6A9955; - --light-hl-7: #795E26; - --dark-hl-7: #DCDCAA; - --light-hl-8: #267F99; - --dark-hl-8: #4EC9B0; - --light-hl-9: #098658; - --dark-hl-9: #B5CEA8; - --light-code-background: #FFFFFF; - --dark-code-background: #1E1E1E; -} - -@media (prefers-color-scheme: light) { :root { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --hl-9: var(--light-hl-9); - --code-background: var(--light-code-background); -} } - -@media (prefers-color-scheme: dark) { :root { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --hl-9: var(--dark-hl-9); - --code-background: var(--dark-code-background); -} } - -:root[data-theme='light'] { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --hl-9: var(--light-hl-9); - --code-background: var(--light-code-background); -} - -:root[data-theme='dark'] { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --hl-9: var(--dark-hl-9); - --code-background: var(--dark-code-background); -} - -.hl-0 { color: var(--hl-0); } -.hl-1 { color: var(--hl-1); } -.hl-2 { color: var(--hl-2); } -.hl-3 { color: var(--hl-3); } -.hl-4 { color: var(--hl-4); } -.hl-5 { color: var(--hl-5); } -.hl-6 { color: var(--hl-6); } -.hl-7 { color: var(--hl-7); } -.hl-8 { color: var(--hl-8); } -.hl-9 { color: var(--hl-9); } -pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.js b/docs/assets/icons.js deleted file mode 100644 index 58882d76..00000000 --- a/docs/assets/icons.js +++ /dev/null @@ -1,18 +0,0 @@ -(function() { - addIcons(); - function addIcons() { - if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); - const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); - svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; - svg.style.display = "none"; - if (location.protocol === "file:") updateUseElements(); - } - - function updateUseElements() { - document.querySelectorAll("use").forEach(el => { - if (el.getAttribute("href").includes("#icon-")) { - el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); - } - }); - } -})() \ No newline at end of file diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg deleted file mode 100644 index 50ad5799..00000000 --- a/docs/assets/icons.svg +++ /dev/null @@ -1 +0,0 @@ -MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/docs/assets/main.js b/docs/assets/main.js deleted file mode 100644 index 4f59cd95..00000000 --- a/docs/assets/main.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings.","hierarchy_expand":"Expand","hierarchy_collapse":"Collapse"}; -"use strict";(()=>{var De=Object.create;var le=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,Be=Object.prototype.hasOwnProperty;var qe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var je=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ne(e))!Be.call(t,i)&&i!==n&&le(t,i,{get:()=>e[i],enumerable:!(r=Fe(e,i))||r.enumerable});return t};var $e=(t,e,n)=>(n=t!=null?De(Ve(t)):{},je(e||!t||!t.__esModule?le(n,"default",{value:t,enumerable:!0}):n,t));var pe=qe((de,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,c],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[c+1]*i[d+1],c+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof de=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse"};var ce=[];function G(t,e){ce.push({selector:e,constructor:t})}var J=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){ce.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!ze(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function ze(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var ge=$e(pe(),1);async function H(t){let e=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate")),i=await new Response(r).text();return JSON.parse(i)}async function fe(t,e){if(!window.searchData)return;let n=await H(window.searchData);t.data=n,t.index=ge.Index.load(n.index),e.classList.remove("loading"),e.classList.add("ready")}function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:document.documentElement.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{fe(e,t)}),fe(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{re(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),We(t,i,r,e)}function We(t,e,n,r){n.addEventListener("input",ue(()=>{Ue(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Je(e,t):i.key=="ArrowUp"?(me(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(me(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),re(t))})}function re(t){t.classList.remove("has-focus")}function Ue(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ye(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` - ${ye(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=c+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function me(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Je(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),re(e)}}function ye(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ne(t.substring(s,o)),`${ne(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ne(t.substring(s))),i.join("")}var Ge={"&":"&","<":"<",">":">","'":"'",'"':"""};function ne(t){return t.replace(/[&<>"'"]/g,e=>Ge[e])}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var A="mousedown",Ee="mousemove",B="mouseup",X={x:0,y:0},xe=!1,ie=!1,Xe=!1,D=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Xe=!0,A="touchstart",Ee="touchmove",B="touchend");document.addEventListener(A,t=>{ie=!0,D=!1;let e=A=="touchstart"?t.targetTouches[0]:t;X.y=e.pageY||0,X.x=e.pageX||0});document.addEventListener(Ee,t=>{if(ie&&!D){let e=A=="touchstart"?t.targetTouches[0]:t,n=X.x-(e.pageX||0),r=X.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var Y=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(A,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var se;try{se=localStorage}catch{se={getItem(){return null},setItem(){}}}var C=se;var be=document.head.appendChild(document.createElement("style"));be.dataset.for="filters";var Z=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),be.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=C.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){C.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var oe=new Map,ae=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;C.setItem(this.key,e.toString())}},K=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(oe.has(i))s=oe.get(i);else{let o=C.getItem(i),a=o?o==="true":this.el.open;s=new ae(i,a),oe.set(i,s)}s.add(this.el)}};function Se(t){let e=C.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{C.setItem("tsd-theme",t.value),we(t.value)})}function we(t){document.documentElement.dataset.theme=t}var ee;function Ce(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Te),Te())}async function Te(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let e=await H(window.navigationData);ee=document.documentElement.dataset.base,ee.endsWith("/")||(ee+="/"),t.innerHTML="";for(let n of e)Ie(n,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Ie(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',ke(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let c of t.children)Ie(c,l,i)}else ke(t,r,t.class)}function ke(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=ee+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span"));r.innerHTML='',r.appendChild(document.createElement("span")).textContent=t.text}}var te=document.documentElement.dataset.base;te.endsWith("/")||(te+="/");function Pe(){document.querySelector(".tsd-full-hierarchy")?Ye():document.querySelector(".tsd-hierarchy")&&Ze()}function Ye(){document.addEventListener("click",r=>{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=tt(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function Ze(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Qe),Qe())}async function Qe(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let e=+t.dataset.refl,n=await H(window.hierarchyData),r=t.querySelector("ul"),i=document.createElement("ul");if(i.classList.add("tsd-hierarchy"),Ke(i,n,e),r.querySelectorAll("li").length==i.querySelectorAll("li").length)return;let s=document.createElement("span");s.classList.add("tsd-hierarchy-toggle"),s.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",s),s.insertAdjacentText("beforebegin",", "),s.addEventListener("click",()=>{s.textContent===window.translations.hierarchy_expand?(r.insertAdjacentElement("afterend",i),r.remove(),s.textContent=window.translations.hierarchy_collapse):(i.insertAdjacentElement("afterend",r),i.remove(),s.textContent=window.translations.hierarchy_expand)})}function Ke(t,e,n){let r=e.roots.filter(i=>et(e,i,n));for(let i of r)t.appendChild(Oe(e,i,n))}function Oe(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let l=t.reflections[a],c=s.appendChild(document.createElement("a"));c.textContent=l.name,c.href=te+l.url,c.className=l.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=te+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let l=Oe(t,a,n,r);l&&o.appendChild(l)}}return r.delete(e),s}function et(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function tt(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.innerHTML='',t}G(Y,"a[data-toggle]");G(K,".tsd-accordion");G(Z,".tsd-filter-item input[type=checkbox]");var _e=document.getElementById("tsd-theme");_e&&Se(_e);var nt=new J;Object.defineProperty(window,"app",{value:nt});ve();Ce();Pe();})(); -/*! Bundled license information: - -lunr/lunr.js: - (** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - *) - (*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - *) - (*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - *) -*/ diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js deleted file mode 100644 index ff562eda..00000000 --- a/docs/assets/navigation.js +++ /dev/null @@ -1 +0,0 @@ -window.navigationData = "eJydmVtv00AQRv+Lnyt6oZSQt/QCArWhSkKFVPXBsafNqvba7K4LAfHfkeP6st7dmQlvVXv2fLPj27i+/xMZ+GWiabS4ml3eXEUHURmbTTSN0iKpcpBGHzZ/ebMxeRYdRM9CptF08nYyOTua/D3o1pdx8gxG94K8SKsM9OHrH+z1JwdRshFZqkBG0/tOcvXLgEwhXUBZKLPaltD7QFZ5b3PJUYGD0m71R4B0HSfPN6B1/ASY2AuH3QuTlLe7pZjUpjBbuduYFoXEfTaHGvfYvJ8O25cp6M8Gcsw5ZMKm8y00Deo1SRZrPTiBOsS2HJ8MPRdFXhaVTCmZzWHGy0wp+2wLW10WNasM2GaHxcxXieSKHZTwUo3tENTzmvhFGAOqydWkObyIk0U2gt2F9hKhCrY5zPgJJCiRcEv14gw/t3AvzvAzvbTveo8rw2Ux85yx/Tlrz5SFYcgEKWkR1KMMt1kOinkXkIB4aS81qlQfTdlLIwpJ1TwCUWepyZb2DGri99RBUW83CSDCjsFNDBHDUz+fLzaVfA57OoTyUAX1DGqqe8k861wWNysRZ+J3vM4Ac/YUaqOv3yXn+l2qBfwgTT2EujT3tB2TmPUu51rHJGb9rqhNtwRm6cbCyyove5XZlr7ZsYZGryJHH94fvzsJzpCY1iUptzshYn4/zclYVuvxoXLVHUQanWcsWrWXpjKcQRSL8MKMBPqQWhBpDI+kaAa+jJvaLBzdu/1JA3Q/O2cb/CNgT5SY2yUpt3coxiKCC5hJ/M0EFzCT2Al8szs1Y3o/TWXMWc2Z79UR2reHq304o7ohRBrHoyBq9sFUgm/KxkJCPCdnMHRTESOUtHczOCq2KNK5T++9MJnQzeWo2qJoZ/+fvJu4LIV8CosdlGHnFLxHvd2rAGa0II6RLtKmSKfzVoC6vTSd0b8l4HabI72cu9Jyn7vS4NUBddoYadX8y83H0n6VzKpUFNfwAll35ocjvDiVcidSKL4qAdLE9T2MzAkuIJNyfr98LOVv35Uw75ChfImC2Iye+ufC3EFiCjUaOh8rmdTN6JPo1Xb+2SkRvajkNcgns/mvaHs1GV3PJPU3CzqmJRGl0PUjAVM1BKEgDZigjJUG9L3BdYbWUDGc5lkgIlSDZ943JVaF/aXJFXsXIAFG5HCjV8VsrevHwErkqN6DO/KHgb4yIvN8E939mvVFNFYq3p5Xj4+gVsW8SKH52VdjIw0sQFpgrVgaZY0gqL6BEXUam/hOwE9e6T6aJaeKHpOI9AlMw5xvDTS3jLDXAyNq2W1qVcz6Nob1gQXMiMvXTfP8LY3Jq3zNFI9IXFq/uO62x1R7ePSWlK6K0/oA6bB1ACEqvTvWnCrHpOce8fAPq0unkQ==" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js deleted file mode 100644 index 11a0598b..00000000 --- a/docs/assets/search.js +++ /dev/null @@ -1 +0,0 @@ -window.searchData = "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"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css deleted file mode 100644 index 7f80f3dc..00000000 --- a/docs/assets/style.css +++ /dev/null @@ -1,1610 +0,0 @@ -@layer typedoc { - :root { - /* Light */ - --light-color-background: #f2f4f8; - --light-color-background-secondary: #eff0f1; - --light-color-warning-text: #222; - --light-color-background-warning: #e6e600; - --light-color-accent: #c5c7c9; - --light-color-active-menu-item: var(--light-color-accent); - --light-color-text: #222; - --light-color-text-aside: #6e6e6e; - - --light-color-icon-background: var(--light-color-background); - --light-color-icon-text: var(--light-color-text); - - --light-color-comment-tag-text: var(--light-color-text); - --light-color-comment-tag: var(--light-color-background); - - --light-color-link: #1f70c2; - --light-color-focus-outline: #3584e4; - - --light-color-ts-keyword: #056bd6; - --light-color-ts-project: #b111c9; - --light-color-ts-module: var(--light-color-ts-project); - --light-color-ts-namespace: var(--light-color-ts-project); - --light-color-ts-enum: #7e6f15; - --light-color-ts-enum-member: var(--light-color-ts-enum); - --light-color-ts-variable: #4760ec; - --light-color-ts-function: #572be7; - --light-color-ts-class: #1f70c2; - --light-color-ts-interface: #108024; - --light-color-ts-constructor: var(--light-color-ts-class); - --light-color-ts-property: #9f5f30; - --light-color-ts-method: #be3989; - --light-color-ts-reference: #ff4d82; - --light-color-ts-call-signature: var(--light-color-ts-method); - --light-color-ts-index-signature: var(--light-color-ts-property); - --light-color-ts-constructor-signature: var( - --light-color-ts-constructor - ); - --light-color-ts-parameter: var(--light-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --light-color-ts-type-parameter: #a55c0e; - --light-color-ts-accessor: #c73c3c; - --light-color-ts-get-signature: var(--light-color-ts-accessor); - --light-color-ts-set-signature: var(--light-color-ts-accessor); - --light-color-ts-type-alias: #d51270; - /* reference not included as links will be colored with the kind that it points to */ - --light-color-document: #000000; - - --light-color-alert-note: #0969d9; - --light-color-alert-tip: #1a7f37; - --light-color-alert-important: #8250df; - --light-color-alert-warning: #9a6700; - --light-color-alert-caution: #cf222e; - - --light-external-icon: url("data:image/svg+xml;utf8,"); - --light-color-scheme: light; - - /* Dark */ - --dark-color-background: #2b2e33; - --dark-color-background-secondary: #1e2024; - --dark-color-background-warning: #bebe00; - --dark-color-warning-text: #222; - --dark-color-accent: #9096a2; - --dark-color-active-menu-item: #5d5d6a; - --dark-color-text: #f5f5f5; - --dark-color-text-aside: #dddddd; - - --dark-color-icon-background: var(--dark-color-background-secondary); - --dark-color-icon-text: var(--dark-color-text); - - --dark-color-comment-tag-text: var(--dark-color-text); - --dark-color-comment-tag: var(--dark-color-background); - - --dark-color-link: #00aff4; - --dark-color-focus-outline: #4c97f2; - - --dark-color-ts-keyword: #3399ff; - --dark-color-ts-project: #e358ff; - --dark-color-ts-module: var(--dark-color-ts-project); - --dark-color-ts-namespace: var(--dark-color-ts-project); - --dark-color-ts-enum: #f4d93e; - --dark-color-ts-enum-member: var(--dark-color-ts-enum); - --dark-color-ts-variable: #798dff; - --dark-color-ts-function: #a280ff; - --dark-color-ts-class: #8ac4ff; - --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: var(--dark-color-ts-class); - --dark-color-ts-property: #ff984d; - --dark-color-ts-method: #ff4db8; - --dark-color-ts-reference: #ff4d82; - --dark-color-ts-call-signature: var(--dark-color-ts-method); - --dark-color-ts-index-signature: var(--dark-color-ts-property); - --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); - --dark-color-ts-parameter: var(--dark-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --dark-color-ts-type-parameter: #e07d13; - --dark-color-ts-accessor: #ff6060; - --dark-color-ts-get-signature: var(--dark-color-ts-accessor); - --dark-color-ts-set-signature: var(--dark-color-ts-accessor); - --dark-color-ts-type-alias: #ff6492; - /* reference not included as links will be colored with the kind that it points to */ - --dark-color-document: #ffffff; - - --dark-color-alert-note: #0969d9; - --dark-color-alert-tip: #1a7f37; - --dark-color-alert-important: #8250df; - --dark-color-alert-warning: #9a6700; - --dark-color-alert-caution: #cf222e; - - --dark-external-icon: url("data:image/svg+xml;utf8,"); - --dark-color-scheme: dark; - } - - @media (prefers-color-scheme: light) { - :root { - --color-background: var(--light-color-background); - --color-background-secondary: var( - --light-color-background-secondary - ); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - - --color-icon-background: var(--light-color-icon-background); - --color-icon-text: var(--light-color-icon-text); - - --color-comment-tag-text: var(--light-color-text); - --color-comment-tag: var(--light-color-background); - - --color-link: var(--light-color-link); - --color-focus-outline: var(--light-color-focus-outline); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-project: var(--light-color-ts-project); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-reference: var(--light-color-ts-reference); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - --color-document: var(--light-color-document); - - --color-alert-note: var(--light-color-alert-note); - --color-alert-tip: var(--light-color-alert-tip); - --color-alert-important: var(--light-color-alert-important); - --color-alert-warning: var(--light-color-alert-warning); - --color-alert-caution: var(--light-color-alert-caution); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); - } - } - - @media (prefers-color-scheme: dark) { - :root { - --color-background: var(--dark-color-background); - --color-background-secondary: var( - --dark-color-background-secondary - ); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - - --color-icon-background: var(--dark-color-icon-background); - --color-icon-text: var(--dark-color-icon-text); - - --color-comment-tag-text: var(--dark-color-text); - --color-comment-tag: var(--dark-color-background); - - --color-link: var(--dark-color-link); - --color-focus-outline: var(--dark-color-focus-outline); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-project: var(--dark-color-ts-project); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-reference: var(--dark-color-ts-reference); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - --color-document: var(--dark-color-document); - - --color-alert-note: var(--dark-color-alert-note); - --color-alert-tip: var(--dark-color-alert-tip); - --color-alert-important: var(--dark-color-alert-important); - --color-alert-warning: var(--dark-color-alert-warning); - --color-alert-caution: var(--dark-color-alert-caution); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); - } - } - - html { - color-scheme: var(--color-scheme); - } - - body { - margin: 0; - } - - :root[data-theme="light"] { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-icon-text: var(--light-color-icon-text); - - --color-comment-tag-text: var(--light-color-text); - --color-comment-tag: var(--light-color-background); - - --color-link: var(--light-color-link); - --color-focus-outline: var(--light-color-focus-outline); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-project: var(--light-color-ts-project); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-reference: var(--light-color-ts-reference); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - --color-document: var(--light-color-document); - - --color-note: var(--light-color-note); - --color-tip: var(--light-color-tip); - --color-important: var(--light-color-important); - --color-warning: var(--light-color-warning); - --color-caution: var(--light-color-caution); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); - } - - :root[data-theme="dark"] { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-icon-text: var(--dark-color-icon-text); - - --color-comment-tag-text: var(--dark-color-text); - --color-comment-tag: var(--dark-color-background); - - --color-link: var(--dark-color-link); - --color-focus-outline: var(--dark-color-focus-outline); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-project: var(--dark-color-ts-project); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-reference: var(--dark-color-ts-reference); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - --color-document: var(--dark-color-document); - - --color-note: var(--dark-color-note); - --color-tip: var(--dark-color-tip); - --color-important: var(--dark-color-important); - --color-warning: var(--dark-color-warning); - --color-caution: var(--dark-color-caution); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); - } - - *:focus-visible, - .tsd-accordion-summary:focus-visible svg { - outline: 2px solid var(--color-focus-outline); - } - - .always-visible, - .always-visible .tsd-signatures { - display: inherit !important; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - line-height: 1.2; - } - - h1 { - font-size: 1.875rem; - margin: 0.67rem 0; - } - - h2 { - font-size: 1.5rem; - margin: 0.83rem 0; - } - - h3 { - font-size: 1.25rem; - margin: 1rem 0; - } - - h4 { - font-size: 1.05rem; - margin: 1.33rem 0; - } - - h5 { - font-size: 1rem; - margin: 1.5rem 0; - } - - h6 { - font-size: 0.875rem; - margin: 2.33rem 0; - } - - dl, - menu, - ol, - ul { - margin: 1em 0; - } - - dd { - margin: 0 0 0 34px; - } - - .container { - max-width: 1700px; - padding: 0 2rem; - } - - /* Footer */ - footer { - border-top: 1px solid var(--color-accent); - padding-top: 1rem; - padding-bottom: 1rem; - max-height: 3.5rem; - } - footer > p { - margin: 0 1em; - } - - .container-main { - margin: 0 auto; - /* toolbar, footer, margin */ - min-height: calc(100vh - 41px - 56px - 4rem); - } - - @keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } - } - @keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } - } - @keyframes fade-in-delayed { - 0% { - opacity: 0; - } - 33% { - opacity: 0; - } - 100% { - opacity: 1; - } - } - @keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; - } - 66% { - opacity: 0; - } - 100% { - opacity: 0; - } - } - @keyframes pop-in-from-right { - from { - transform: translate(100%, 0); - } - to { - transform: translate(0, 0); - } - } - @keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; - } - to { - transform: translate(100%, 0); - } - } - body { - background: var(--color-background); - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; - font-size: 16px; - color: var(--color-text); - } - - a { - color: var(--color-link); - text-decoration: none; - } - a:hover { - text-decoration: underline; - } - a.external[target="_blank"] { - background-image: var(--external-icon); - background-position: top 3px right; - background-repeat: no-repeat; - padding-right: 13px; - } - a.tsd-anchor-link { - color: var(--color-text); - } - - code, - pre { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - padding: 0.2em; - margin: 0; - font-size: 0.875rem; - border-radius: 0.8em; - } - - pre { - position: relative; - white-space: pre-wrap; - word-wrap: break-word; - padding: 10px; - border: 1px solid var(--color-accent); - margin-bottom: 8px; - } - pre code { - padding: 0; - font-size: 100%; - } - pre > button { - position: absolute; - top: 10px; - right: 10px; - opacity: 0; - transition: opacity 0.1s; - box-sizing: border-box; - } - pre:hover > button, - pre > button.visible { - opacity: 1; - } - - blockquote { - margin: 1em 0; - padding-left: 1em; - border-left: 4px solid gray; - } - - .tsd-typography { - line-height: 1.333em; - } - .tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; - } - .tsd-typography .tsd-index-panel h3, - .tsd-index-panel .tsd-typography h3, - .tsd-typography h4, - .tsd-typography h5, - .tsd-typography h6 { - font-size: 1em; - } - .tsd-typography h5, - .tsd-typography h6 { - font-weight: normal; - } - .tsd-typography p, - .tsd-typography ul, - .tsd-typography ol { - margin: 1em 0; - } - .tsd-typography table { - border-collapse: collapse; - border: none; - } - .tsd-typography td, - .tsd-typography th { - padding: 6px 13px; - border: 1px solid var(--color-accent); - } - .tsd-typography thead, - .tsd-typography tr:nth-child(even) { - background-color: var(--color-background-secondary); - } - - .tsd-alert { - padding: 8px 16px; - margin-bottom: 16px; - border-left: 0.25em solid var(--alert-color); - } - .tsd-alert blockquote > :last-child, - .tsd-alert > :last-child { - margin-bottom: 0; - } - .tsd-alert-title { - color: var(--alert-color); - display: inline-flex; - align-items: center; - } - .tsd-alert-title span { - margin-left: 4px; - } - - .tsd-alert-note { - --alert-color: var(--color-alert-note); - } - .tsd-alert-tip { - --alert-color: var(--color-alert-tip); - } - .tsd-alert-important { - --alert-color: var(--color-alert-important); - } - .tsd-alert-warning { - --alert-color: var(--color-alert-warning); - } - .tsd-alert-caution { - --alert-color: var(--color-alert-caution); - } - - .tsd-breadcrumb { - margin: 0; - padding: 0; - color: var(--color-text-aside); - } - .tsd-breadcrumb a { - color: var(--color-text-aside); - text-decoration: none; - } - .tsd-breadcrumb a:hover { - text-decoration: underline; - } - .tsd-breadcrumb li { - display: inline; - } - .tsd-breadcrumb li:after { - content: " / "; - } - - .tsd-comment-tags { - display: flex; - flex-direction: column; - } - dl.tsd-comment-tag-group { - display: flex; - align-items: center; - overflow: hidden; - margin: 0.5em 0; - } - dl.tsd-comment-tag-group dt { - display: flex; - margin-right: 0.5em; - font-size: 0.875em; - font-weight: normal; - } - dl.tsd-comment-tag-group dd { - margin: 0; - } - code.tsd-tag { - padding: 0.25em 0.4em; - border: 0.1em solid var(--color-accent); - margin-right: 0.25em; - font-size: 70%; - } - h1 code.tsd-tag:first-of-type { - margin-left: 0.25em; - } - - dl.tsd-comment-tag-group dd:before, - dl.tsd-comment-tag-group dd:after { - content: " "; - } - dl.tsd-comment-tag-group dd pre, - dl.tsd-comment-tag-group dd:after { - clear: both; - } - dl.tsd-comment-tag-group p { - margin: 0; - } - - .tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; - } - .tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; - } - - .tsd-filter-visibility h4 { - font-size: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.5rem; - margin: 0; - } - .tsd-filter-item:not(:last-child) { - margin-bottom: 0.5rem; - } - .tsd-filter-input { - display: flex; - width: -moz-fit-content; - width: fit-content; - align-items: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - } - .tsd-filter-input input[type="checkbox"] { - cursor: pointer; - position: absolute; - width: 1.5em; - height: 1.5em; - opacity: 0; - } - .tsd-filter-input input[type="checkbox"]:disabled { - pointer-events: none; - } - .tsd-filter-input svg { - cursor: pointer; - width: 1.5em; - height: 1.5em; - margin-right: 0.5em; - border-radius: 0.33em; - /* Leaving this at full opacity breaks event listeners on Firefox. - Don't remove unless you know what you're doing. */ - opacity: 0.99; - } - .tsd-filter-input input[type="checkbox"]:focus-visible + svg { - outline: 2px solid var(--color-focus-outline); - } - .tsd-checkbox-background { - fill: var(--color-accent); - } - input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { - stroke: var(--color-text); - } - .tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { - fill: var(--color-background); - stroke: var(--color-accent); - stroke-width: 0.25rem; - } - .tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { - stroke: var(--color-accent); - } - - .settings-label { - font-weight: bold; - text-transform: uppercase; - display: inline-block; - } - - .tsd-filter-visibility .settings-label { - margin: 0.75rem 0 0.5rem 0; - } - - .tsd-theme-toggle .settings-label { - margin: 0.75rem 0.75rem 0 0; - } - - .tsd-hierarchy h4 label:hover span { - text-decoration: underline; - } - - .tsd-hierarchy { - list-style: square; - margin: 0; - } - .tsd-hierarchy-target { - font-weight: bold; - } - .tsd-hierarchy-toggle { - color: var(--color-link); - cursor: pointer; - } - - .tsd-full-hierarchy:not(:last-child) { - margin-bottom: 1em; - padding-bottom: 1em; - border-bottom: 1px solid var(--color-accent); - } - .tsd-full-hierarchy, - .tsd-full-hierarchy ul { - list-style: none; - margin: 0; - padding: 0; - } - .tsd-full-hierarchy ul { - padding-left: 1.5rem; - } - .tsd-full-hierarchy a { - padding: 0.25rem 0 !important; - font-size: 1rem; - display: inline-flex; - align-items: center; - color: var(--color-text); - } - .tsd-full-hierarchy svg[data-dropdown] { - cursor: pointer; - } - .tsd-full-hierarchy svg[data-dropdown="false"] { - transform: rotate(-90deg); - } - .tsd-full-hierarchy svg[data-dropdown="false"] ~ ul { - display: none; - } - - .tsd-panel-group.tsd-index-group { - margin-bottom: 0; - } - .tsd-index-panel .tsd-index-list { - list-style: none; - line-height: 1.333em; - margin: 0; - padding: 0.25rem 0 0 0; - overflow: hidden; - display: grid; - grid-template-columns: repeat(3, 1fr); - column-gap: 1rem; - grid-template-rows: auto; - } - @media (max-width: 1024px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(2, 1fr); - } - } - @media (max-width: 768px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(1, 1fr); - } - } - .tsd-index-panel .tsd-index-list li { - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; - } - - .tsd-flag { - display: inline-block; - padding: 0.25em 0.4em; - border-radius: 4px; - color: var(--color-comment-tag-text); - background-color: var(--color-comment-tag); - text-indent: 0; - font-size: 75%; - line-height: 1; - font-weight: normal; - } - - .tsd-anchor { - position: relative; - top: -100px; - } - - .tsd-member { - position: relative; - } - .tsd-member .tsd-anchor + h3 { - display: flex; - align-items: center; - margin-top: 0; - margin-bottom: 0; - border-bottom: none; - } - - .tsd-navigation.settings { - margin: 1rem 0; - } - .tsd-navigation > a, - .tsd-navigation .tsd-accordion-summary { - width: calc(100% - 0.25rem); - display: flex; - align-items: center; - } - .tsd-navigation a, - .tsd-navigation summary > span, - .tsd-page-navigation a { - display: flex; - width: calc(100% - 0.25rem); - align-items: center; - padding: 0.25rem; - color: var(--color-text); - text-decoration: none; - box-sizing: border-box; - } - .tsd-navigation a.current, - .tsd-page-navigation a.current { - background: var(--color-active-menu-item); - } - .tsd-navigation a:hover, - .tsd-page-navigation a:hover { - text-decoration: underline; - } - .tsd-navigation ul, - .tsd-page-navigation ul { - margin-top: 0; - margin-bottom: 0; - padding: 0; - list-style: none; - } - .tsd-navigation li, - .tsd-page-navigation li { - padding: 0; - max-width: 100%; - } - .tsd-navigation .tsd-nav-link { - display: none; - } - .tsd-nested-navigation { - margin-left: 3rem; - } - .tsd-nested-navigation > li > details { - margin-left: -1.5rem; - } - .tsd-small-nested-navigation { - margin-left: 1.5rem; - } - .tsd-small-nested-navigation > li > details { - margin-left: -1.5rem; - } - - .tsd-page-navigation-section { - margin-left: 10px; - } - .tsd-page-navigation-section > summary { - padding: 0.25rem; - } - .tsd-page-navigation-section > div { - margin-left: 20px; - } - .tsd-page-navigation ul { - padding-left: 1.75rem; - } - - #tsd-sidebar-links a { - margin-top: 0; - margin-bottom: 0.5rem; - line-height: 1.25rem; - } - #tsd-sidebar-links a:last-of-type { - margin-bottom: 0; - } - - a.tsd-index-link { - padding: 0.25rem 0 !important; - font-size: 1rem; - line-height: 1.25rem; - display: inline-flex; - align-items: center; - color: var(--color-text); - } - .tsd-accordion-summary { - list-style-type: none; /* hide marker on non-safari */ - outline: none; /* broken on safari, so just hide it */ - } - .tsd-accordion-summary::-webkit-details-marker { - display: none; /* hide marker on safari */ - } - .tsd-accordion-summary, - .tsd-accordion-summary a { - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; - - cursor: pointer; - } - .tsd-accordion-summary a { - width: calc(100% - 1.5rem); - } - .tsd-accordion-summary > * { - margin-top: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; - } - .tsd-accordion .tsd-accordion-summary > svg { - margin-left: 0.25rem; - vertical-align: text-top; - } - /* - We need to be careful to target the arrow indicating whether the accordion - is open, but not any other SVGs included in the details element. -*/ - .tsd-accordion:not([open]) > .tsd-accordion-summary > svg:first-child, - .tsd-accordion:not([open]) > .tsd-accordion-summary > h1 > svg:first-child, - .tsd-accordion:not([open]) > .tsd-accordion-summary > h2 > svg:first-child, - .tsd-accordion:not([open]) > .tsd-accordion-summary > h3 > svg:first-child, - .tsd-accordion:not([open]) > .tsd-accordion-summary > h4 > svg:first-child { - transform: rotate(-90deg); - } - .tsd-index-content > :not(:first-child) { - margin-top: 0.75rem; - } - .tsd-index-heading { - margin-top: 1.5rem; - margin-bottom: 0.75rem; - } - - .tsd-no-select { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - } - .tsd-kind-icon { - margin-right: 0.5rem; - width: 1.25rem; - height: 1.25rem; - min-width: 1.25rem; - min-height: 1.25rem; - } - .tsd-signature > .tsd-kind-icon { - margin-right: 0.8rem; - } - - .tsd-panel { - margin-bottom: 2.5rem; - } - .tsd-panel.tsd-member { - margin-bottom: 4rem; - } - .tsd-panel:empty { - display: none; - } - .tsd-panel > h1, - .tsd-panel > h2, - .tsd-panel > h3 { - margin: 1.5rem -1.5rem 0.75rem -1.5rem; - padding: 0 1.5rem 0.75rem 1.5rem; - } - .tsd-panel > h1.tsd-before-signature, - .tsd-panel > h2.tsd-before-signature, - .tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: none; - } - - .tsd-panel-group { - margin: 2rem 0; - } - .tsd-panel-group.tsd-index-group { - margin: 2rem 0; - } - .tsd-panel-group.tsd-index-group details { - margin: 2rem 0; - } - .tsd-panel-group > .tsd-accordion-summary { - margin-bottom: 1rem; - } - - #tsd-search { - transition: background-color 0.2s; - } - #tsd-search .title { - position: relative; - z-index: 2; - } - #tsd-search .field { - position: absolute; - left: 0; - top: 0; - right: 2.5rem; - height: 100%; - } - #tsd-search .field input { - box-sizing: border-box; - position: relative; - top: -50px; - z-index: 1; - width: 100%; - padding: 0 10px; - opacity: 0; - outline: 0; - border: 0; - background: transparent; - color: var(--color-text); - } - #tsd-search .field label { - position: absolute; - overflow: hidden; - right: -40px; - } - #tsd-search .field input, - #tsd-search .title, - #tsd-toolbar-links a { - transition: opacity 0.2s; - } - #tsd-search .results { - position: absolute; - visibility: hidden; - top: 40px; - width: 100%; - margin: 0; - padding: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); - } - #tsd-search .results li { - background-color: var(--color-background); - line-height: initial; - padding: 4px; - } - #tsd-search .results li:nth-child(even) { - background-color: var(--color-background-secondary); - } - #tsd-search .results li.state { - display: none; - } - #tsd-search .results li.current:not(.no-results), - #tsd-search .results li:hover:not(.no-results) { - background-color: var(--color-accent); - } - #tsd-search .results a { - display: flex; - align-items: center; - padding: 0.25rem; - box-sizing: border-box; - } - #tsd-search .results a:before { - top: 10px; - } - #tsd-search .results span.parent { - color: var(--color-text-aside); - font-weight: normal; - } - #tsd-search.has-focus { - background-color: var(--color-accent); - } - #tsd-search.has-focus .field input { - top: 0; - opacity: 1; - } - #tsd-search.has-focus .title, - #tsd-search.has-focus #tsd-toolbar-links a { - z-index: 0; - opacity: 0; - } - #tsd-search.has-focus .results { - visibility: visible; - } - #tsd-search.loading .results li.state.loading { - display: block; - } - #tsd-search.failure .results li.state.failure { - display: block; - } - - #tsd-toolbar-links { - position: absolute; - top: 0; - right: 2rem; - height: 100%; - display: flex; - align-items: center; - justify-content: flex-end; - } - #tsd-toolbar-links a { - margin-left: 1.5rem; - } - #tsd-toolbar-links a:hover { - text-decoration: underline; - } - - .tsd-signature { - margin: 0 0 1rem 0; - padding: 1rem 0.5rem; - border: 1px solid var(--color-accent); - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 14px; - overflow-x: auto; - } - - .tsd-signature-keyword { - color: var(--color-ts-keyword); - font-weight: normal; - } - - .tsd-signature-symbol { - color: var(--color-text-aside); - font-weight: normal; - } - - .tsd-signature-type { - font-style: italic; - font-weight: normal; - } - - .tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - list-style-type: none; - } - .tsd-signatures .tsd-signature { - margin: 0; - border-color: var(--color-accent); - border-width: 1px 0; - transition: background-color 0.1s; - } - .tsd-signatures .tsd-index-signature:not(:last-child) { - margin-bottom: 1em; - } - .tsd-signatures .tsd-index-signature .tsd-signature { - border-width: 1px; - } - .tsd-description .tsd-signatures .tsd-signature { - border-width: 1px; - } - - ul.tsd-parameter-list, - ul.tsd-type-parameter-list { - list-style: square; - margin: 0; - padding-left: 20px; - } - ul.tsd-parameter-list > li.tsd-parameter-signature, - ul.tsd-type-parameter-list > li.tsd-parameter-signature { - list-style: none; - margin-left: -20px; - } - ul.tsd-parameter-list h5, - ul.tsd-type-parameter-list h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; - } - .tsd-sources { - margin-top: 1rem; - font-size: 0.875em; - } - .tsd-sources a { - color: var(--color-text-aside); - text-decoration: underline; - } - .tsd-sources ul { - list-style: none; - padding: 0; - } - - .tsd-page-toolbar { - position: sticky; - z-index: 1; - top: 0; - left: 0; - width: 100%; - color: var(--color-text); - background: var(--color-background-secondary); - border-bottom: 1px var(--color-accent) solid; - transition: transform 0.3s ease-in-out; - } - .tsd-page-toolbar a { - color: var(--color-text); - text-decoration: none; - } - .tsd-page-toolbar a.title { - font-weight: bold; - } - .tsd-page-toolbar a.title:hover { - text-decoration: underline; - } - .tsd-page-toolbar .tsd-toolbar-contents { - display: flex; - justify-content: space-between; - height: 2.5rem; - margin: 0 auto; - } - .tsd-page-toolbar .table-cell { - position: relative; - white-space: nowrap; - line-height: 40px; - } - .tsd-page-toolbar .table-cell:first-child { - width: 100%; - } - .tsd-page-toolbar .tsd-toolbar-icon { - box-sizing: border-box; - line-height: 0; - padding: 12px 0; - } - - .tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.8; - height: 40px; - transition: - opacity 0.1s, - background-color 0.2s; - vertical-align: bottom; - cursor: pointer; - } - .tsd-widget:hover { - opacity: 0.9; - } - .tsd-widget.active { - opacity: 1; - background-color: var(--color-accent); - } - .tsd-widget.no-caption { - width: 40px; - } - .tsd-widget.no-caption:before { - margin: 0; - } - - .tsd-widget.options, - .tsd-widget.menu { - display: none; - } - input[type="checkbox"] + .tsd-widget:before { - background-position: -120px 0; - } - input[type="checkbox"]:checked + .tsd-widget:before { - background-position: -160px 0; - } - - img { - max-width: 100%; - } - - .tsd-member-summary-name { - display: inline-flex; - align-items: center; - padding: 0.25rem; - text-decoration: none; - } - - .tsd-anchor-icon { - display: inline-flex; - align-items: center; - margin-left: 0.5rem; - color: var(--color-text); - } - - .tsd-anchor-icon svg { - width: 1em; - height: 1em; - visibility: hidden; - } - - .tsd-member-summary-name:hover > .tsd-anchor-icon svg, - .tsd-anchor-link:hover > .tsd-anchor-icon svg { - visibility: visible; - } - - .deprecated { - text-decoration: line-through !important; - } - - .warning { - padding: 1rem; - color: var(--color-warning-text); - background: var(--color-background-warning); - } - - .tsd-kind-project { - color: var(--color-ts-project); - } - .tsd-kind-module { - color: var(--color-ts-module); - } - .tsd-kind-namespace { - color: var(--color-ts-namespace); - } - .tsd-kind-enum { - color: var(--color-ts-enum); - } - .tsd-kind-enum-member { - color: var(--color-ts-enum-member); - } - .tsd-kind-variable { - color: var(--color-ts-variable); - } - .tsd-kind-function { - color: var(--color-ts-function); - } - .tsd-kind-class { - color: var(--color-ts-class); - } - .tsd-kind-interface { - color: var(--color-ts-interface); - } - .tsd-kind-constructor { - color: var(--color-ts-constructor); - } - .tsd-kind-property { - color: var(--color-ts-property); - } - .tsd-kind-method { - color: var(--color-ts-method); - } - .tsd-kind-reference { - color: var(--color-ts-reference); - } - .tsd-kind-call-signature { - color: var(--color-ts-call-signature); - } - .tsd-kind-index-signature { - color: var(--color-ts-index-signature); - } - .tsd-kind-constructor-signature { - color: var(--color-ts-constructor-signature); - } - .tsd-kind-parameter { - color: var(--color-ts-parameter); - } - .tsd-kind-type-parameter { - color: var(--color-ts-type-parameter); - } - .tsd-kind-accessor { - color: var(--color-ts-accessor); - } - .tsd-kind-get-signature { - color: var(--color-ts-get-signature); - } - .tsd-kind-set-signature { - color: var(--color-ts-set-signature); - } - .tsd-kind-type-alias { - color: var(--color-ts-type-alias); - } - - /* if we have a kind icon, don't color the text by kind */ - .tsd-kind-icon ~ span { - color: var(--color-text); - } - - * { - scrollbar-width: thin; - scrollbar-color: var(--color-accent) var(--color-icon-background); - } - - *::-webkit-scrollbar { - width: 0.75rem; - } - - *::-webkit-scrollbar-track { - background: var(--color-icon-background); - } - - *::-webkit-scrollbar-thumb { - background-color: var(--color-accent); - border-radius: 999rem; - border: 0.25rem solid var(--color-icon-background); - } - - /* mobile */ - @media (max-width: 769px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } - - .container-main { - display: flex; - } - html .col-content { - float: none; - max-width: 100%; - width: 100%; - } - html .col-sidebar { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - width: 75vw; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - html .col-sidebar > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu .col-sidebar { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu .col-sidebar { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu .col-sidebar { - visibility: visible; - transform: translate(0, 0); - display: flex; - flex-direction: column; - gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } - #tsd-toolbar-links { - display: none; - } - .tsd-navigation .tsd-nav-link { - display: flex; - } - } - - /* one sidebar */ - @media (min-width: 770px) { - .container-main { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); - grid-template-areas: "sidebar content"; - margin: 2rem auto; - } - - .col-sidebar { - grid-area: sidebar; - } - .col-content { - grid-area: content; - padding: 0 1rem; - } - } - @media (min-width: 770px) and (max-width: 1399px) { - .col-sidebar { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - padding-top: 1rem; - } - .site-menu { - margin-top: 1rem; - } - } - - /* two sidebars */ - @media (min-width: 1200px) { - .container-main { - grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax( - 0, - 20rem - ); - grid-template-areas: "sidebar content toc"; - } - - .col-sidebar { - display: contents; - } - - .page-menu { - grid-area: toc; - padding-left: 1rem; - } - .site-menu { - grid-area: sidebar; - } - - .site-menu { - margin-top: 1rem; - } - - .page-menu, - .site-menu { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - } - } -} diff --git a/docs/classes/packets.ByePacket.html b/docs/classes/packets.ByePacket.html deleted file mode 100644 index 18d52fa3..00000000 --- a/docs/classes/packets.ByePacket.html +++ /dev/null @@ -1,128 +0,0 @@ -ByePacket | rtp.js - v0.13.1

Class ByePacket

RTCP BYE packet.

-
        0                   1                   2                   3
-        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-header |V=2|P|    SC   |   PT=BYE=203  |             length            |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                           SSRC/CSRC                           |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       :                              ...                              :
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-(opt)  |     length    |               reason for leaving            ...
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP BYE -packet will be created.

      -

    Returns ByePacket

      -
    • If given view does not contain a valid RTCP BYE packet.
    • -
    -

Methods

  • Add SSRC value.

    -

    Parameters

    • ssrc: number

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns ByePacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
  • Set SSRC values.

    -

    Parameters

    • ssrcs: number[]

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
diff --git a/docs/classes/packets.CompoundPacket.html b/docs/classes/packets.CompoundPacket.html deleted file mode 100644 index 1d29ff2c..00000000 --- a/docs/classes/packets.CompoundPacket.html +++ /dev/null @@ -1,104 +0,0 @@ -CompoundPacket | rtp.js - v0.13.1

Class CompoundPacket

RTCP Compound packet.

-
-

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP Compound -packet will be created.

      -

    Returns CompoundPacket

      -
    • If given view does not contain a valid RTCP Compound packet.
    • -
    -

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns CompoundPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Return the RtcpPacket entries in this RTCP Compound packet.

    -

    Returns RtcpPacket[]

    -
    import { packets } from 'rtp.js';
    const { CompoundPacket, RtcpPacketType, SdesPacket } = packets;

    const compoundPacket = new CompoundPacket(view);

    for (const packet of compoundPacket.getPackets())
    {
    switch (packet.getPacketType())
    {
    case RtcpPacketType.SDES:
    {
    const sdesPacket = packet as SdesPacket;

    console.log(sdesPacket.getChunks());

    break;
    }

    // etc.
    }
    } -
    - -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.DlrrExtendedReport.html b/docs/classes/packets.DlrrExtendedReport.html deleted file mode 100644 index 8426424c..00000000 --- a/docs/classes/packets.DlrrExtendedReport.html +++ /dev/null @@ -1,105 +0,0 @@ -DlrrExtendedReport | rtp.js - v0.13.1

Class DlrrExtendedReport

DLRR Extended Report.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|     BT=5      |   reserved    |         block length          |
-+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-|                 SSRC_1 (SSRC of first receiver)               | sub-
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block
-|                         last RR (LRR)                         |   1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                   delay since last RR (DLRR)                  |
-+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-|                 SSRC_2 (SSRC of second receiver)              | sub-
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block
-:                               ...                             :   2
-+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns DlrrExtendedReport

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.DrleExtendedReport.html b/docs/classes/packets.DrleExtendedReport.html deleted file mode 100644 index 6bc9b0ac..00000000 --- a/docs/classes/packets.DrleExtendedReport.html +++ /dev/null @@ -1,136 +0,0 @@ -DrleExtendedReport | rtp.js - v0.13.1

Class DrleExtendedReport

Duplicate RLE Extended Report.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|     BT=2      | rsvd. |   T   |         block length          |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                        SSRC of source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|          begin_seq            |             end_seq           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|          chunk 1              |             chunk 2           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-:                              ...                              :
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|          chunk n-1            |             chunk n           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns DrleExtendedReport

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.EcnExtendedReport.html b/docs/classes/packets.EcnExtendedReport.html deleted file mode 100644 index 0443054f..00000000 --- a/docs/classes/packets.EcnExtendedReport.html +++ /dev/null @@ -1,127 +0,0 @@ -EcnExtendedReport | rtp.js - v0.13.1

Class EcnExtendedReport

ECN Summary Extended Report.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|     BT=13     |   reserved    |       block length = 5        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| SSRC of Media Sender                                          |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| ECT (0) Counter                                               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| ECT (1) Counter                                               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| ECN-CE Counter                | not-ECT Counter               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| Lost Packets Counter          | Duplication Counter           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns EcnExtendedReport

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.EcnPacket.html b/docs/classes/packets.EcnPacket.html deleted file mode 100644 index 2c3ce67a..00000000 --- a/docs/classes/packets.EcnPacket.html +++ /dev/null @@ -1,158 +0,0 @@ -EcnPacket | rtp.js - v0.13.1

Class EcnPacket

RTCP ECN packet (RTCP Transport Layer Feedback).

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|V=2|P|  FMT=8  |  PT=RTPFB=205 |          length=7             |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of packet sender                        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of media source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| Extended Highest Sequence Number                              |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| ECT (0) Counter                                               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| ECT (1) Counter                                               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| ECN-CE Counter                | not-ECT Counter               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| Lost Packets Counter          | Duplication Counter           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP ECN -packet will be created.

      -

    Returns EcnPacket

      -
    • If given view does not contain a valid RTCP ECN packet.
    • -
    -

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns EcnPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
  • Set Duplication Counter.

    -

    Parameters

    • counter: number

    Returns void

  • Set Extended Highest Sequence Number.

    -

    Parameters

    • sequenceNumber: number

    Returns void

  • Set Lost Packets Counter.

    -

    Parameters

    • counter: number

    Returns void

diff --git a/docs/classes/packets.ExtendedJitterReportsPacket.html b/docs/classes/packets.ExtendedJitterReportsPacket.html deleted file mode 100644 index e25810c0..00000000 --- a/docs/classes/packets.ExtendedJitterReportsPacket.html +++ /dev/null @@ -1,123 +0,0 @@ -ExtendedJitterReportsPacket | rtp.js - v0.13.1

Class ExtendedJitterReportsPacket

RTCP Extended Jitter Reports packet.

-
        0                   1                   2                   3
-        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-header |V=2|P|    RC   |     PT=195    |             length            |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                     inter-arrival jitter                      |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       :                              ...                              :
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns ExtendedJitterReportsPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.ExtendedReport.html b/docs/classes/packets.ExtendedReport.html deleted file mode 100644 index 6b941207..00000000 --- a/docs/classes/packets.ExtendedReport.html +++ /dev/null @@ -1,91 +0,0 @@ -ExtendedReport | rtp.js - v0.13.1

Class ExtendedReportAbstract

Parent class of all XrPacket Extended Reports.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|      BT       | type-specific |         block length          |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-:             type-specific block contents                      :
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns Serializable

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.FeedbackPacket.html b/docs/classes/packets.FeedbackPacket.html deleted file mode 100644 index 9e6c69bf..00000000 --- a/docs/classes/packets.FeedbackPacket.html +++ /dev/null @@ -1,119 +0,0 @@ -FeedbackPacket | rtp.js - v0.13.1

Class FeedbackPacketAbstract

RTCP Feedback packet.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|V=2|P|   FMT   |       PT      |          length               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of packet sender                        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of media source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-:            Feedback Control Information (FCI)                 :
-:                                                               :
-
- -

Hierarchy (View Summary)

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns Serializable

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.GenericExtendedReport.html b/docs/classes/packets.GenericExtendedReport.html deleted file mode 100644 index 1f1c09a8..00000000 --- a/docs/classes/packets.GenericExtendedReport.html +++ /dev/null @@ -1,110 +0,0 @@ -GenericExtendedReport | rtp.js - v0.13.1

Class GenericExtendedReport

Generic Extended Report.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|     BT=???    | type-specific |         block length          |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                             body                              |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-:                              ...                              :
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty generic -Extended Report will be created.

      -
    • OptionalreportType: number

      If view is not given, this parameter must be given.

      -

    Returns GenericExtendedReport

      -
    • If given view does not contain a valid generic Extended Report.
    • -
    -

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns GenericExtendedReport

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.GenericFeedbackPacket.html b/docs/classes/packets.GenericFeedbackPacket.html deleted file mode 100644 index 13f51204..00000000 --- a/docs/classes/packets.GenericFeedbackPacket.html +++ /dev/null @@ -1,131 +0,0 @@ -GenericFeedbackPacket | rtp.js - v0.13.1

Class GenericFeedbackPacket

RTCP generic Feedback packet.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|V=2|P| FMT=??? |  PT=205|206   |          length               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of packet sender                        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of media source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-:            Feedback Control Information (FCI)                 :
-:                                                               :
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns GenericFeedbackPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.GenericPacket.html b/docs/classes/packets.GenericPacket.html deleted file mode 100644 index b37abcde..00000000 --- a/docs/classes/packets.GenericPacket.html +++ /dev/null @@ -1,125 +0,0 @@ -GenericPacket | rtp.js - v0.13.1

Class GenericPacket

RTCP generic packet.

-
        0                   1                   2                   3
-        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-header |V=2|P|    SC   |   PT=???      |             length            |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-body   |                              ...                              |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       :                              ...                              :
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -
-

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP generic -packet will be created.

      -
    • OptionalpacketType: number

      If view is not given, this parameter must be given.

      -

    Returns GenericPacket

      -
    • If given view does not contain a valid RTCP generic packet.
    • -
    -

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns GenericPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
  • Set the packet body.

    -

    Parameters

    • view: DataView

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
  • Set the RTCP header count value.

    -

    Parameters

    • count: number

    Returns void

      -
    • This field (the 5 less significant bits in the first byte of the common -RTCP header) can be used for other custom purpose in case the packet -needs it for something else.
    • -
    -
diff --git a/docs/classes/packets.LrleExtendedReport.html b/docs/classes/packets.LrleExtendedReport.html deleted file mode 100644 index ede4136e..00000000 --- a/docs/classes/packets.LrleExtendedReport.html +++ /dev/null @@ -1,136 +0,0 @@ -LrleExtendedReport | rtp.js - v0.13.1

Class LrleExtendedReport

Loss RLE Extended Report.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|     BT=1      | rsvd. |   T   |         block length          |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                        SSRC of source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|          begin_seq            |             end_seq           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|          chunk 1              |             chunk 2           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-:                              ...                              :
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|          chunk n-1            |             chunk n           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns LrleExtendedReport

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.NackPacket.html b/docs/classes/packets.NackPacket.html deleted file mode 100644 index 2221e412..00000000 --- a/docs/classes/packets.NackPacket.html +++ /dev/null @@ -1,141 +0,0 @@ -NackPacket | rtp.js - v0.13.1

Class NackPacket

RTCP NACK packet (RTCP Transport Layer Feedback).

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|V=2|P|  FMT=1  |  PT=RTPFB=205 |          length               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of packet sender                        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of media source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|            PID                |             BLP               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-:                              ...                              :
-+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP NACK -packet will be created.

      -

    Returns NackPacket

      -
    • If given view does not contain a valid RTCP NACK packet.
    • -
    -

Methods

  • Add NACK item value.

    -

    Parameters

    • pid: number
    • bitmask: number

    Returns void

      -
    • Use createNackItem to create the NACK item.
    • -
    • Serialization is needed after calling this method.
    • -
    -
  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns NackPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
  • Set NACK items.

    -

    Parameters

    • items: { bitmask: number; pid: number }[]

    Returns void

      -
    • Use createNackItem to create NACK items.
    • -
    • Serialization is needed after calling this method.
    • -
    -
diff --git a/docs/classes/packets.Packet.html b/docs/classes/packets.Packet.html deleted file mode 100644 index 283197c3..00000000 --- a/docs/classes/packets.Packet.html +++ /dev/null @@ -1,85 +0,0 @@ -Packet | rtp.js - v0.13.1

Class PacketAbstract

Parent class of all RTP and RTCP packets.

-

Hierarchy (View Summary)

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns Serializable

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the padding (in bytes) at the end of the packet.

    -

    Returns number

  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.PliPacket.html b/docs/classes/packets.PliPacket.html deleted file mode 100644 index 224728e6..00000000 --- a/docs/classes/packets.PliPacket.html +++ /dev/null @@ -1,120 +0,0 @@ -PliPacket | rtp.js - v0.13.1

Class PliPacket

RTCP PLI packet (RTCP Payload Specific Feedback).

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|V=2|P|  FMT=1  |  PT=PSFB=206  |          length=2             |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of packet sender                        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of media source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP PLI -packet will be created.

      -

    Returns PliPacket

      -
    • If given view does not contain a valid RTCP PLI packet.
    • -
    -

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns PliPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.PrtExtendedReport.html b/docs/classes/packets.PrtExtendedReport.html deleted file mode 100644 index 5c0c9fdc..00000000 --- a/docs/classes/packets.PrtExtendedReport.html +++ /dev/null @@ -1,132 +0,0 @@ -PrtExtendedReport | rtp.js - v0.13.1

Class PrtExtendedReport

Packet Receipt Times Extended Report.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|     BT=3      | rsvd. |   T   |         block length          |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                        SSRC of source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|          begin_seq            |             end_seq           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|       Receipt time of packet begin_seq                        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|       Receipt time of packet (begin_seq + 1) mod 65536        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-:                              ...                              :
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|       Receipt time of packet (end_seq - 1) mod 65536          |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns PrtExtendedReport

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.ReceiverReportPacket.html b/docs/classes/packets.ReceiverReportPacket.html deleted file mode 100644 index 72f78300..00000000 --- a/docs/classes/packets.ReceiverReportPacket.html +++ /dev/null @@ -1,142 +0,0 @@ -ReceiverReportPacket | rtp.js - v0.13.1

Class ReceiverReportPacket

RTCP Receiver Report packet.

-
        0                   1                   2                   3
-        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-header |V=2|P|    RC   |   PT=RR=201   |             length            |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                     SSRC of packet sender                     |
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-report |                 SSRC_1 (SSRC of first source)                 |
-block  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-  1    | fraction lost |       cumulative number of packets lost       |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |           extended highest sequence number received           |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                      interarrival jitter                      |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                         last SR (LSR)                         |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                   delay since last SR (DLSR)                  |
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-report |                 SSRC_2 (SSRC of second source)                |
-block  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-  2    :                               ...                             :
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-       |                  profile-specific extensions                  |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns ReceiverReportPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.ReceptionReport.html b/docs/classes/packets.ReceptionReport.html deleted file mode 100644 index 3020b797..00000000 --- a/docs/classes/packets.ReceptionReport.html +++ /dev/null @@ -1,105 +0,0 @@ -ReceptionReport | rtp.js - v0.13.1

Class ReceptionReport

RTCP Reception Report.

-

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns ReceptionReport

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.RpsiPacket.html b/docs/classes/packets.RpsiPacket.html deleted file mode 100644 index 8251e13e..00000000 --- a/docs/classes/packets.RpsiPacket.html +++ /dev/null @@ -1,135 +0,0 @@ -RpsiPacket | rtp.js - v0.13.1

Class RpsiPacket

RTCP RPSI packet (RTCP Payload Specific Feedback).

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|V=2|P|  FMT=3  |  PT=PSFB=206  |          length               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of packet sender                        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of media source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|      PB       |0| Payload Type|    Native RPSI bit string     |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|   defined per codec          ...                | Padding (0) |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP RPSI -packet will be created.

      -

    Returns RpsiPacket

      -
    • If given view does not contain a valid RTCP RPSI packet.
    • -
    -

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns RpsiPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
  • Set the bit string.

    -

    Parameters

    • view: DataView

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
diff --git a/docs/classes/packets.RrtExtendedReport.html b/docs/classes/packets.RrtExtendedReport.html deleted file mode 100644 index 6ef89482..00000000 --- a/docs/classes/packets.RrtExtendedReport.html +++ /dev/null @@ -1,101 +0,0 @@ -RrtExtendedReport | rtp.js - v0.13.1

Class RrtExtendedReport

Receiver Reference Time Extended Report.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|     BT=4      |   reserved    |       block length = 2        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|              NTP timestamp, most significant word             |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|             NTP timestamp, least significant word             |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns RrtExtendedReport

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.RtcpPacket.html b/docs/classes/packets.RtcpPacket.html deleted file mode 100644 index 5f4e1030..00000000 --- a/docs/classes/packets.RtcpPacket.html +++ /dev/null @@ -1,103 +0,0 @@ -RtcpPacket | rtp.js - v0.13.1

Class RtcpPacketAbstract

RTCP packet. Parent class of all RTCP packets.

-
        0                   1                   2                   3
-        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-header |V=2|P|    SC   |      PT       |             length            |
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-
- -

Hierarchy (View Summary)

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns Serializable

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.RtpPacket.html b/docs/classes/packets.RtpPacket.html deleted file mode 100644 index 392024b5..00000000 --- a/docs/classes/packets.RtpPacket.html +++ /dev/null @@ -1,259 +0,0 @@ -RtpPacket | rtp.js - v0.13.1

Class RtpPacket

RTP packet.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|V=2|P|X|  CC   |M|     PT      |       sequence number         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                           timestamp                           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|           synchronization source (SSRC) identifier            |
-+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-|            contributing source (CSRC) identifiers             |
-|                             ....                              |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|      defined by profile       |           length              |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                        header extension                       |
-|                             ....                              |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTP packet -(with just the minimal fixed header) will be created.

      -

    Returns RtpPacket

      -
    • If view is given and it does not contain a valid RTP packet.
    • -
    -

Methods

  • Clear all extensions (RFC 5285).

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns RtpPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Delete the extension with given id (RFC 5285).

    -

    Parameters

    • id: number

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Enable One-Byte extensions (RFC 5285).

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Enable Two-Bytes extensions (RFC 5285).

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the value of the extension with given id (RFC 5285).

    -

    Parameters

    • id: number

    Returns undefined | DataView

  • Get a map with all the extensions indexed by their extension id (RFC 5285).

    -

    Returns Map<number, DataView>

  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether One-Byte extensions (as per RFC 5285) are enabled.

    -

    Returns boolean

  • Whether Two-Bytes extensions (as per RFC 5285) are enabled.

    -

    Returns boolean

  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Decode the packet using RTX procedures (as per RFC 4588).

    -

    Parameters

    • payloadType: number

      The original payload type.

      -
    • ssrc: number

      The original SSRC.

      -

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
      -
    • If payload length is less than 2 bytes, so RTX decode is not possible.
    • -
    -
  • Encode the packet using RTX procedures (as per RFC 4588).

    -

    Parameters

    • payloadType: number

      The RTX payload type.

      -
    • ssrc: number

      The RTX SSRC.

      -
    • sequenceNumber: number

      The RTX sequence number.

      -

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
  • Set the RTP CSRC values. If csrcs is not given (or if it's an empty -array) CSRC field will be removed from the RTP packet.

    -

    Parameters

    • csrcs: number[] = []

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
  • Set the value of the extension with given id (RFC 5285).

    -

    Parameters

    • id: number
    • value: DataView

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
  • Set RTP extension mapping (association of RTP extension types and their -numeric ids in this RTP packet).

    -

    Parameters

    Returns void

      -
    • Calling this method is needed before using other methods that read or -write specific RTP extensions.
    • -
    -
  • Set the packet payload.

    -

    Parameters

    • view: DataView

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
  • Set the RTP payload type.

    -

    Parameters

    • payloadType: number

    Returns void

  • Set the RTP sequence number.

    -

    Parameters

    • sequenceNumber: number

    Returns void

diff --git a/docs/classes/packets.SdesChunk.html b/docs/classes/packets.SdesChunk.html deleted file mode 100644 index 170a9543..00000000 --- a/docs/classes/packets.SdesChunk.html +++ /dev/null @@ -1,87 +0,0 @@ -SdesChunk | rtp.js - v0.13.1

Class SdesChunk

SDES Chunk.

-

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP SDES -Chunk will be created.

      -

    Returns SdesChunk

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns SdesChunk

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.SdesPacket.html b/docs/classes/packets.SdesPacket.html deleted file mode 100644 index 41bfcb4f..00000000 --- a/docs/classes/packets.SdesPacket.html +++ /dev/null @@ -1,128 +0,0 @@ -SdesPacket | rtp.js - v0.13.1

Class SdesPacket

RTCP SDES packet.

-
        0                   1                   2                   3
-        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-header |V=2|P|    SC   |  PT=SDES=202  |             length            |
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-chunk  |                          SSRC/CSRC_1                          |
-  1    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                           SDES items                          |
-       |                              ...                              |
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-chunk  |                          SSRC/CSRC_2                          |
-  2    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                           SDES items                          |
-       |                              ...                              |
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP SDES -packet will be created.

      -

    Returns SdesPacket

      -
    • If given view does not contain a valid RTCP SDES packet.
    • -
    -

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns SdesPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.SenderReportPacket.html b/docs/classes/packets.SenderReportPacket.html deleted file mode 100644 index 338dfcbb..00000000 --- a/docs/classes/packets.SenderReportPacket.html +++ /dev/null @@ -1,172 +0,0 @@ -SenderReportPacket | rtp.js - v0.13.1

Class SenderReportPacket

RTCP Sender Report packet.

-
        0                   1                   2                   3
-        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-header |V=2|P|    RC   |   PT=SR=200   |             length            |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                         SSRC of sender                        |
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-sender |              NTP timestamp, most significant word             |
-info   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |             NTP timestamp, least significant word             |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                         RTP timestamp                         |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                     sender's packet count                     |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                      sender's octet count                     |
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-report |                 SSRC_1 (SSRC of first source)                 |
-block  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-  1    | fraction lost |       cumulative number of packets lost       |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |           extended highest sequence number received           |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                      interarrival jitter                      |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                         last SR (LSR)                         |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                   delay since last SR (DLSR)                  |
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-report |                 SSRC_2 (SSRC of second source)                |
-block  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-  2    :                               ...                             :
-       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-       |                  profile-specific extensions                  |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP Sender -Report packet will be created.

      -

    Returns SenderReportPacket

      -
    • If given view does not contain a valid RTCP Sender Report packet.
    • -
    -

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns SenderReportPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.Serializable.html b/docs/classes/packets.Serializable.html deleted file mode 100644 index ec75c14a..00000000 --- a/docs/classes/packets.Serializable.html +++ /dev/null @@ -1,75 +0,0 @@ -Serializable | rtp.js - v0.13.1

Class SerializableAbstract

Class holding a serializable buffer view. All RTP and RTCP packets inherit -from this class, and also items in some RTCP packets.

-

Hierarchy (View Summary)

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns Serializable

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.SliPacket.html b/docs/classes/packets.SliPacket.html deleted file mode 100644 index a53e5008..00000000 --- a/docs/classes/packets.SliPacket.html +++ /dev/null @@ -1,136 +0,0 @@ -SliPacket | rtp.js - v0.13.1

Class SliPacket

RTCP SLI packet (RTCP Payload Specific Feedback).

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|V=2|P|  FMT=2  |  PT=PSFB=206  |          length               |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of packet sender                        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of media source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|            First        |        Number           | PictureID |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-:                              ...                              :
-+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP SLI -packet will be created.

      -

    Returns SliPacket

      -
    • If given view does not contain a valid RTCP SLI packet.
    • -
    -

Methods

  • Add SLI item value.

    -

    Parameters

    • first: number
    • number: number
    • pictureId: number

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns SliPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get SLI items.

    -

    Returns { first: number; number: number; pictureId: number }[]

  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
  • Set SLI items.

    -

    Parameters

    • items: { first: number; number: number; pictureId: number }[]

    Returns void

      -
    • Serialization is needed after calling this method.
    • -
    -
diff --git a/docs/classes/packets.SrReqPacket.html b/docs/classes/packets.SrReqPacket.html deleted file mode 100644 index 40957bb9..00000000 --- a/docs/classes/packets.SrReqPacket.html +++ /dev/null @@ -1,120 +0,0 @@ -SrReqPacket | rtp.js - v0.13.1

Class SrReqPacket

RTCP SR REQ packet (RTCP Transport Layer Feedback).

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|V=2|P|  FMT=5  |  PT=RTPFB=205 |          length=2             |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of packet sender                        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                  SSRC of media source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -
-

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP SR REQ -packet will be created.

      -

    Returns SrReqPacket

      -
    • If given view does not contain a valid RTCP SR REQ packet.
    • -
    -

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns SrReqPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.SsExtendedReport.html b/docs/classes/packets.SsExtendedReport.html deleted file mode 100644 index 2993aed9..00000000 --- a/docs/classes/packets.SsExtendedReport.html +++ /dev/null @@ -1,189 +0,0 @@ -SsExtendedReport | rtp.js - v0.13.1

Class SsExtendedReport

Statistics Summary Extended Report.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|     BT=6      |L|D|J|ToH|rsvd.|       block length = 9        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                        SSRC of source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|          begin_seq            |             end_seq           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                        lost_packets                           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                        dup_packets                            |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                         min_jitter                            |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                         max_jitter                            |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                         mean_jitter                           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                         dev_jitter                            |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| min_ttl_or_hl | max_ttl_or_hl |mean_ttl_or_hl | dev_ttl_or_hl |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns SsExtendedReport

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.VmExtendedReport.html b/docs/classes/packets.VmExtendedReport.html deleted file mode 100644 index 0bc37b31..00000000 --- a/docs/classes/packets.VmExtendedReport.html +++ /dev/null @@ -1,197 +0,0 @@ -VmExtendedReport | rtp.js - v0.13.1

Class VmExtendedReport

VoIP Metrics Extended Report.

-
 0                   1                   2                   3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|     BT=7      |   reserved    |       block length = 8        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                        SSRC of source                         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|   loss rate   | discard rate  | burst density |  gap density  |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|       burst duration          |         gap duration          |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|     round trip delay          |       end system delay        |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-| signal level  |  noise level  |     RERL      |     Gmin      |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|   R factor    | ext. R factor |    MOS-LQ     |    MOS-CQ     |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|   RX config   |   reserved    |          JB nominal           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|          JB maximum           |          JB abs max           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns VmExtendedReport

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/classes/packets.XrPacket.html b/docs/classes/packets.XrPacket.html deleted file mode 100644 index 17ad72b1..00000000 --- a/docs/classes/packets.XrPacket.html +++ /dev/null @@ -1,135 +0,0 @@ -XrPacket | rtp.js - v0.13.1

Class XrPacket

RTCP XR packet.

-
        0                   1                   2                   3
-        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-header |V=2|P|reserved |   PT=XR=207   |             length            |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                              SSRC                             |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-report :                         report blocks                         :
-blocks +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Hierarchy (View Summary)

Constructors

  • Parameters

    • Optionalview: DataView

      If given it will be parsed. Otherwise an empty RTCP XR packet -will be created.

      -

    Returns XrPacket

      -
    • If given view does not contain a valid RTCP XR packet.
    • -
    -

Methods

  • Clone the packet or item. The cloned instance does not share any memory -with the original one. The cloned instance is a new class instance -referencing a different buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be cloned. If not given, a -new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where clonation will -start.

      -
    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given -serializationBuffer where serialization (if needed) will start.

      -

    Returns XrPacket

      -
    • The buffer is serialized if needed (to apply pending modifications) by -internally calling serialize.
    • -
    -
      -
    • If serialization is needed and it fails.
    • -
    • If given buffer doesn't have space enough to clone the content.
    • -
    • If given serializationBuffer doesn't have space enough to serialize -the content.
    • -
    -
  • Computes total length of the content (in bytes) including padding if any.

    -

    Returns number

      -
    • This methods computes the effective byte length of the content as if it -was serialized at this moment, no matter modifications have been done -before.
    • -
    -
  • Get the RTCP header count value.

    -

    Returns number

      -
    • Some RTCP packets do not use this byte (the second one in the common -RTCP header) for counting chunks or items.
    • -
    -
  • Get Extended Reports.

    -

    Returns ExtendedReport[]

    -
    import { packets } from 'rtp.js';
    const { XrPacket, ExtendedReportType, LrleExtendedReport } = packets;

    const packet = new XrPacket(view);

    for (const extendedReport of packet.getReports())
    {
    switch (extendedReport.getReportType())
    {
    case ExtendedReportType.LRLE:
    {
    const lrleExtendedReport = extendedReport as LrleExtendedReport;

    console.log(lrleExtendedReport.getThinning());

    break;
    }

    // etc.
    }
    } -
    - -
  • Get a buffer view containing the serialized content of the packet or item.

    -

    Parameters

    • OptionalserializationBuffer: ArrayBuffer

      Buffer in which the content will be serialized -in case serialization is needed. If not given, a new one will internally -allocated.

      -
    • OptionalserializationByteOffset: number

      Byte offset of the given serializationBuffer -where serialization (if needed) will start.

      -

    Returns DataView

      -
    • The internal buffer is serialized if needed (to apply pending -modifications) by internally calling serialize.
    • -
    -
      -
    • If buffer serialization is needed and it fails due to invalid -content.
    • -
    -
  • Whether serialization is needed, meaning that the current buffer view -doesn't represent the current content of the packet or item (due to -modifications not applied yet). Calling serialize or getView -will serialize the packet or the item.

    -

    Returns boolean

  • Pad the packet total length to 4 bytes. To achieve it, this method may add -or remove bytes of padding.

    -

    Returns void

      -
    • Serialization maybe needed after calling this method.
    • -
    -
  • Apply pending changes and serialize the content of the packet or item into -a new buffer.

    -

    Parameters

    • Optionalbuffer: ArrayBuffer

      Buffer in which the content will be serialized. If not -given, a new one will internally allocated.

      -
    • OptionalbyteOffset: number

      Byte offset of the given buffer where serialization -will start.

      -

    Returns void

      -
    • In most cases there is no need to use this method since many setter -methods apply changes within the current buffer. To be sure, check -needsSerialization before.
    • -
    -
      -
    • If serialization fails due to invalid content previously added.
    • -
    • If given buffer doesn't have space enough to serialize the content.
    • -
    • If the buffer member of the given ArrayBuffer is the same than the -internal buffer in this packet and the given byteOffset would make -the serialization happen in bytes currently used by the packet (this would -corrupt the packet).
    • -
    -
diff --git a/docs/documents/README.html b/docs/documents/README.html deleted file mode 100644 index d1c11580..00000000 --- a/docs/documents/README.html +++ /dev/null @@ -1,29 +0,0 @@ -README | rtp.js - v0.13.1

rtp.js

-

-

RTP stack for Node.js and browser written in TypeScript. rtp.js provides with an API to parse, generate and modify RTP and RTCP packets.

-
npm install rtp.js
-
- -
    -
  • -

    API documentation

    -
  • -
  • -

    All RTP and RTCP classes, types and packet related helpers are exported by the packets module.

    -
    import { packets } from 'rtp.js';

    const {
    isRtp,
    isRtcp,
    RtpPacket,
    CompoundPacket,
    ReceiverReportPacket,
    SenderReportPacket,
    ReceptionReport,
    ByePacket,
    SdesPacket,
    NackPacket,
    SrReqPacket,
    EcnPacket,
    PliPacket,
    SliPacket,
    RpsiPacket,
    XrPacket,
    ExtendedJitterReportsPacket,
    GenericPacket,
    // etc.
    } = packets; -
    - -
  • -
  • -

    The utils module exports some generic helpers and utilities.

    -
    import { utils } from 'rtp.js';

    const view = utils.stringToDataView('foo'); -
    - -
  • -
- -

ISC

-
diff --git a/docs/enums/packets.ExtendedReportType.html b/docs/enums/packets.ExtendedReportType.html deleted file mode 100644 index e4637b42..00000000 --- a/docs/enums/packets.ExtendedReportType.html +++ /dev/null @@ -1,18 +0,0 @@ -ExtendedReportType | rtp.js - v0.13.1

Enumeration ExtendedReportType

Extended Report types.

-

Enumeration Members

Enumeration Members

DLRR: 5

DLRR Report.

-
DRLE: 2

Duplicate RLE Report.

-
ECN: 13

ECN Summary Report.

-
LRLE: 1

Loss RLE Report.

-
PRT: 3

Packet Receipt Times Report.

-
RRT: 4

Receiver Reference Time Report.

-
SS: 6

Statistics Summary Report.

-
VM: 7

VoIP Metrics Report.

-
diff --git a/docs/enums/packets.PsFeedbackMessageType.html b/docs/enums/packets.PsFeedbackMessageType.html deleted file mode 100644 index 1f396edb..00000000 --- a/docs/enums/packets.PsFeedbackMessageType.html +++ /dev/null @@ -1,10 +0,0 @@ -PsFeedbackMessageType | rtp.js - v0.13.1

Enumeration PsFeedbackMessageType

RTCP Feedback payload specific message types.

-

Enumeration Members

Enumeration Members

AFB: 15

Application layer FB message.

-
PLI: 1

Picture Loss Indication.

-
RPSI: 3

Reference Picture Selection Indication.

-
SLI: 2

Slice Loss Indication.

-
diff --git a/docs/enums/packets.RtcpPacketType.html b/docs/enums/packets.RtcpPacketType.html deleted file mode 100644 index 70a62267..00000000 --- a/docs/enums/packets.RtcpPacketType.html +++ /dev/null @@ -1,20 +0,0 @@ -RtcpPacketType | rtp.js - v0.13.1

Enumeration RtcpPacketType

RTCP packet types.

-

Enumeration Members

APP -BYE -IJ -PSFB -RR -RTPFB -SDES -SR -XR -

Enumeration Members

APP: 204

RTCP APP packet.

-
BYE: 203

RTCP BYE packet.

-
IJ: 195

Extended Jitter Reports packet.

-
PSFB: 206

RTCP Payload Specific Feedback packet.

-
RR: 201

RTCP Receiver Report packet.

-
RTPFB: 205

RTCP Transport Layer Feedback packet.

-
SDES: 202

RTCP Sender Report packet.

-
SR: 200

RTCP Sender Report packet.

-
XR: 207

RTCP Extended Report packet.

-
diff --git a/docs/enums/packets.RtpExtensionType.html b/docs/enums/packets.RtpExtensionType.html deleted file mode 100644 index f04efe5d..00000000 --- a/docs/enums/packets.RtpExtensionType.html +++ /dev/null @@ -1,50 +0,0 @@ -RtpExtensionType | rtp.js - v0.13.1

Enumeration RtpExtensionType

RTP extensions.

-

Enumeration Members

ABS_SEND_TIME: 3

Absolute Send Time.

-

URI: http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time

-
-
MID: 0

Media identification.

-

URI: urn:ietf:params:rtp-hdrext:sdes:mid

-
-
RTP_REPAIRED_STREAM_ID: 2

RTP Repaired Stream Identifier.

-

URI: urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id

-
-
RTP_STREAM_ID: 1

RTP Stream Identifier.

-

URI: urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

-
-
SSRC_AUDIO_LEVEL: 5

Audio Level

-

URI: urn:ietf:params:rtp-hdrext:ssrc-audio-level

-
-
TOFFSET: 7

Transmission Time Offsets.

-

URI: urn:ietf:params:rtp-hdrext:toffset

-
-
TRANSPORT_WIDE_SEQ_NUMBER: 4

Transport-wide Sequence Number.

-

URI: http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01

-
VIDEO_ORIENTATION: 6

Video Orientation.

-

URI: urn:3gpp:video-orientation

-
diff --git a/docs/enums/packets.RtpFeedbackMessageType.html b/docs/enums/packets.RtpFeedbackMessageType.html deleted file mode 100644 index 087e2d98..00000000 --- a/docs/enums/packets.RtpFeedbackMessageType.html +++ /dev/null @@ -1,8 +0,0 @@ -RtpFeedbackMessageType | rtp.js - v0.13.1

Enumeration RtpFeedbackMessageType

RTCP Feedback transport layer message types.

-

Enumeration Members

Enumeration Members

ECN: 8

Explicit Congestion Notification (ECN).

-
NACK: 1

Generic NACK.

-
SR_REQ: 5

Rapid Resynchronisation Request.

-
diff --git a/docs/enums/packets.SdesItemType.html b/docs/enums/packets.SdesItemType.html deleted file mode 100644 index 5b18393b..00000000 --- a/docs/enums/packets.SdesItemType.html +++ /dev/null @@ -1,18 +0,0 @@ -SdesItemType | rtp.js - v0.13.1

Enumeration SdesItemType

SDES Chunk Item types.

-

Enumeration Members

Enumeration Members

CNAME: 1

Canonical End-Point Identifier SDES Item.

-
EMAIL: 3

Electronic Mail Address SDES Item.

-
LOC: 5

Geographic User Location SDES Item.

-
NAME: 2

User Name SDES Item.

-
NOTE: 7

Notice/Status SDES Item.

-
PHONE: 4

Phone Number SDES Item.

-
PRIV: 8

Private Extensions SDES Item.

-
TOOL: 6

Application or Tool Name SDES Item.

-
diff --git a/docs/functions/packets.createExtendedReportBitVectorChunk.html b/docs/functions/packets.createExtendedReportBitVectorChunk.html deleted file mode 100644 index c6fb204f..00000000 --- a/docs/functions/packets.createExtendedReportBitVectorChunk.html +++ /dev/null @@ -1,12 +0,0 @@ -createExtendedReportBitVectorChunk | rtp.js - v0.13.1

Function createExtendedReportBitVectorChunk

  • Create a Bit Vector Chunk and return a 2 bytes number representing it.

    -
     0                   1
    - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
    -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    -|C|        bit vector           |
    -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    -
    - -

    Parameters

    • bitVector: number

    Returns number

diff --git a/docs/functions/packets.createExtendedReportRunLengthChunk.html b/docs/functions/packets.createExtendedReportRunLengthChunk.html deleted file mode 100644 index 4f134724..00000000 --- a/docs/functions/packets.createExtendedReportRunLengthChunk.html +++ /dev/null @@ -1,12 +0,0 @@ -createExtendedReportRunLengthChunk | rtp.js - v0.13.1

Function createExtendedReportRunLengthChunk

  • Create a Run Length Chunk and return a 2 bytes number representing it.

    -
     0                   1
    - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
    -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    -|C|R|        run length         |
    -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    -
    - -

    Parameters

    • runType: "zeros" | "ones"
    • runLength: number

    Returns number

diff --git a/docs/functions/packets.createNackItem.html b/docs/functions/packets.createNackItem.html deleted file mode 100644 index d52be0ed..00000000 --- a/docs/functions/packets.createNackItem.html +++ /dev/null @@ -1,5 +0,0 @@ -createNackItem | rtp.js - v0.13.1

Function createNackItem

  • Create a NACK item.

    -

    Parameters

    • seqs: number[]

      RTP sequence number of lost packets. As per NACK rules, there -can be up to 17 seq numbers and max diff between lowest and highest must -be 17.

      -

    Returns { bitmask: number; pid: number }

diff --git a/docs/functions/packets.isRtcp.html b/docs/functions/packets.isRtcp.html deleted file mode 100644 index 9f4f8593..00000000 --- a/docs/functions/packets.isRtcp.html +++ /dev/null @@ -1,2 +0,0 @@ -isRtcp | rtp.js - v0.13.1

Function isRtcp

  • Whether the given buffer view could be a valid RTCP packet or not.

    -

    Parameters

    • view: DataView

    Returns boolean

diff --git a/docs/functions/packets.isRtp.html b/docs/functions/packets.isRtp.html deleted file mode 100644 index b3e66b4c..00000000 --- a/docs/functions/packets.isRtp.html +++ /dev/null @@ -1,2 +0,0 @@ -isRtp | rtp.js - v0.13.1

Function isRtp

  • Whether the given buffer view could be a valid RTP packet or not.

    -

    Parameters

    • view: DataView

    Returns boolean

diff --git a/docs/functions/packets.parseExtendedReportChunk.html b/docs/functions/packets.parseExtendedReportChunk.html deleted file mode 100644 index 5c46478d..00000000 --- a/docs/functions/packets.parseExtendedReportChunk.html +++ /dev/null @@ -1,5 +0,0 @@ -parseExtendedReportChunk | rtp.js - v0.13.1

Function parseExtendedReportChunk

diff --git a/docs/functions/packets.parseNackItem.html b/docs/functions/packets.parseNackItem.html deleted file mode 100644 index afaa886a..00000000 --- a/docs/functions/packets.parseNackItem.html +++ /dev/null @@ -1,3 +0,0 @@ -parseNackItem | rtp.js - v0.13.1

Function parseNackItem

  • Parse a NACK item. It returns an array with RTP sequence numbers that are -included in the item (lost packets).

    -

    Parameters

    • pid: number
    • bitmask: number

    Returns number[]

diff --git a/docs/functions/packets.rtpExtensionUriToType.html b/docs/functions/packets.rtpExtensionUriToType.html deleted file mode 100644 index 8642dbff..00000000 --- a/docs/functions/packets.rtpExtensionUriToType.html +++ /dev/null @@ -1,2 +0,0 @@ -rtpExtensionUriToType | rtp.js - v0.13.1

Function rtpExtensionUriToType

diff --git a/docs/functions/packets.timeMsToAbsSendTime.html b/docs/functions/packets.timeMsToAbsSendTime.html deleted file mode 100644 index 1207f0a0..00000000 --- a/docs/functions/packets.timeMsToAbsSendTime.html +++ /dev/null @@ -1,5 +0,0 @@ -timeMsToAbsSendTime | rtp.js - v0.13.1

Function timeMsToAbsSendTime

diff --git a/docs/functions/utils.arrayBufferToNodeBuffer.html b/docs/functions/utils.arrayBufferToNodeBuffer.html deleted file mode 100644 index e729e1e9..00000000 --- a/docs/functions/utils.arrayBufferToNodeBuffer.html +++ /dev/null @@ -1,5 +0,0 @@ -arrayBufferToNodeBuffer | rtp.js - v0.13.1

Function arrayBufferToNodeBuffer

  • Convert ArrayBuffer to Node.js Buffer.

    -

    Parameters

    • arrayBuffer: ArrayBuffer

    Returns Buffer

      -
    • Just for Node.js.
    • -
    -
diff --git a/docs/functions/utils.arrayBufferToString.html b/docs/functions/utils.arrayBufferToString.html deleted file mode 100644 index d82a9b61..00000000 --- a/docs/functions/utils.arrayBufferToString.html +++ /dev/null @@ -1,2 +0,0 @@ -arrayBufferToString | rtp.js - v0.13.1

Function arrayBufferToString

  • Convert ArrayBuffer to string.

    -

    Parameters

    • arrayBuffer: ArrayBuffer

    Returns string

diff --git a/docs/functions/utils.dataViewToNodeBuffer.html b/docs/functions/utils.dataViewToNodeBuffer.html deleted file mode 100644 index 5a301c32..00000000 --- a/docs/functions/utils.dataViewToNodeBuffer.html +++ /dev/null @@ -1,5 +0,0 @@ -dataViewToNodeBuffer | rtp.js - v0.13.1

Function dataViewToNodeBuffer

  • Convert DataView to Node.js Buffer using the same underlying ArrayBuffer.

    -

    Parameters

    • view: DataView

    Returns Buffer

      -
    • Just for Node.js.
    • -
    -
diff --git a/docs/functions/utils.dataViewToString.html b/docs/functions/utils.dataViewToString.html deleted file mode 100644 index 9ff1ea95..00000000 --- a/docs/functions/utils.dataViewToString.html +++ /dev/null @@ -1,2 +0,0 @@ -dataViewToString | rtp.js - v0.13.1

Function dataViewToString

  • Convert DataView to string.

    -

    Parameters

    • view: DataView

    Returns string

diff --git a/docs/functions/utils.getStringByteLength.html b/docs/functions/utils.getStringByteLength.html deleted file mode 100644 index 819e4677..00000000 --- a/docs/functions/utils.getStringByteLength.html +++ /dev/null @@ -1,2 +0,0 @@ -getStringByteLength | rtp.js - v0.13.1

Function getStringByteLength

  • Get the byte length of a string.

    -

    Parameters

    • string: string

    Returns number

diff --git a/docs/functions/utils.nodeBufferToArrayBuffer.html b/docs/functions/utils.nodeBufferToArrayBuffer.html deleted file mode 100644 index 24933fdd..00000000 --- a/docs/functions/utils.nodeBufferToArrayBuffer.html +++ /dev/null @@ -1,5 +0,0 @@ -nodeBufferToArrayBuffer | rtp.js - v0.13.1

Function nodeBufferToArrayBuffer

  • Convert Node.js Buffer to a new allocated ArrayBuffer.

    -

    Parameters

    • nodeBuffer: Buffer

    Returns ArrayBuffer

      -
    • Just for Node.js.
    • -
    -
diff --git a/docs/functions/utils.nodeBufferToDataView.html b/docs/functions/utils.nodeBufferToDataView.html deleted file mode 100644 index aa8e6edf..00000000 --- a/docs/functions/utils.nodeBufferToDataView.html +++ /dev/null @@ -1,5 +0,0 @@ -nodeBufferToDataView | rtp.js - v0.13.1

Function nodeBufferToDataView

  • Convert Node.js Buffer to DataView using the same underlying ArrayBuffer.

    -

    Parameters

    • nodeBuffer: Buffer

    Returns DataView

      -
    • Just for Node.js.
    • -
    -
diff --git a/docs/functions/utils.numberToDataView.html b/docs/functions/utils.numberToDataView.html deleted file mode 100644 index 6612ce1c..00000000 --- a/docs/functions/utils.numberToDataView.html +++ /dev/null @@ -1,2 +0,0 @@ -numberToDataView | rtp.js - v0.13.1

Function numberToDataView

  • Convert number to DataView.

    -

    Parameters

    • number: number

    Returns DataView

diff --git a/docs/functions/utils.numericArrayToDataView.html b/docs/functions/utils.numericArrayToDataView.html deleted file mode 100644 index 464e954d..00000000 --- a/docs/functions/utils.numericArrayToDataView.html +++ /dev/null @@ -1,2 +0,0 @@ -numericArrayToDataView | rtp.js - v0.13.1

Function numericArrayToDataView

  • Convert array of integers to DataView.

    -

    Parameters

    • array: number[]

    Returns DataView

diff --git a/docs/functions/utils.padTo4Bytes.html b/docs/functions/utils.padTo4Bytes.html deleted file mode 100644 index 9bf8395a..00000000 --- a/docs/functions/utils.padTo4Bytes.html +++ /dev/null @@ -1,2 +0,0 @@ -padTo4Bytes | rtp.js - v0.13.1

Function padTo4Bytes

  • Returns the given size padded to 4 bytes.

    -

    Parameters

    • size: number

    Returns number

diff --git a/docs/functions/utils.stringToDataView.html b/docs/functions/utils.stringToDataView.html deleted file mode 100644 index 20c03a16..00000000 --- a/docs/functions/utils.stringToDataView.html +++ /dev/null @@ -1,2 +0,0 @@ -stringToDataView | rtp.js - v0.13.1

Function stringToDataView

  • Convert string to DataView.

    -

    Parameters

    • string: string

    Returns DataView

diff --git a/docs/hierarchy.html b/docs/hierarchy.html deleted file mode 100644 index 8a6c3084..00000000 --- a/docs/hierarchy.html +++ /dev/null @@ -1 +0,0 @@ -rtp.js - v0.13.1
diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index add36fb2..00000000 --- a/docs/index.html +++ /dev/null @@ -1,29 +0,0 @@ -rtp.js - v0.13.1

rtp.js - v0.13.1

rtp.js

-

-

RTP stack for Node.js and browser written in TypeScript. rtp.js provides with an API to parse, generate and modify RTP and RTCP packets.

-
npm install rtp.js
-
- -
    -
  • -

    API documentation

    -
  • -
  • -

    All RTP and RTCP classes, types and packet related helpers are exported by the packets module.

    -
    import { packets } from 'rtp.js';

    const {
    isRtp,
    isRtcp,
    RtpPacket,
    CompoundPacket,
    ReceiverReportPacket,
    SenderReportPacket,
    ReceptionReport,
    ByePacket,
    SdesPacket,
    NackPacket,
    SrReqPacket,
    EcnPacket,
    PliPacket,
    SliPacket,
    RpsiPacket,
    XrPacket,
    ExtendedJitterReportsPacket,
    GenericPacket,
    // etc.
    } = packets; -
    - -
  • -
  • -

    The utils module exports some generic helpers and utilities.

    -
    import { utils } from 'rtp.js';

    const view = utils.stringToDataView('foo'); -
    - -
  • -
- -

ISC

-
diff --git a/docs/media/LICENSE b/docs/media/LICENSE deleted file mode 100644 index 706f43b4..00000000 --- a/docs/media/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -ISC License - -Copyright © 2020, Iñaki Baz Castillo - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/docs/modules.html b/docs/modules.html deleted file mode 100644 index 8a555499..00000000 --- a/docs/modules.html +++ /dev/null @@ -1 +0,0 @@ -rtp.js - v0.13.1

rtp.js - v0.13.1

Documents

README

Modules

packets
utils
diff --git a/docs/modules/packets.html b/docs/modules/packets.html deleted file mode 100644 index 691d8c14..00000000 --- a/docs/modules/packets.html +++ /dev/null @@ -1 +0,0 @@ -packets | rtp.js - v0.13.1
diff --git a/docs/modules/utils.html b/docs/modules/utils.html deleted file mode 100644 index f519e345..00000000 --- a/docs/modules/utils.html +++ /dev/null @@ -1 +0,0 @@ -utils | rtp.js - v0.13.1
diff --git a/docs/types/packets.ByePacketDump.html b/docs/types/packets.ByePacketDump.html deleted file mode 100644 index 4f526a69..00000000 --- a/docs/types/packets.ByePacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -ByePacketDump | rtp.js - v0.13.1

Type Alias ByePacketDump

ByePacketDump: RtcpPacketDump & { reason?: string; ssrcs: number[] }

RTCP BYE packet info dump.

-
diff --git a/docs/types/packets.CompoundPacketDump.html b/docs/types/packets.CompoundPacketDump.html deleted file mode 100644 index 80b97c8b..00000000 --- a/docs/types/packets.CompoundPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -CompoundPacketDump | rtp.js - v0.13.1

Type Alias CompoundPacketDump

CompoundPacketDump: PacketDump & { packets: RtcpPacketDump[] }

RTCP Compound packet info dump.

-
diff --git a/docs/types/packets.DlrrExtendedReportDump.html b/docs/types/packets.DlrrExtendedReportDump.html deleted file mode 100644 index 8aff13cc..00000000 --- a/docs/types/packets.DlrrExtendedReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -DlrrExtendedReportDump | rtp.js - v0.13.1

Type Alias DlrrExtendedReportDump

DlrrExtendedReportDump: ExtendedReportDump & { subReports: DlrrSubReport[] }

DLRR Extended Report dump.

-
diff --git a/docs/types/packets.DlrrSubReport.html b/docs/types/packets.DlrrSubReport.html deleted file mode 100644 index 74ef2d0b..00000000 --- a/docs/types/packets.DlrrSubReport.html +++ /dev/null @@ -1,5 +0,0 @@ -DlrrSubReport | rtp.js - v0.13.1

Type Alias DlrrSubReport

DlrrSubReport: { dlrr: number; lrr: number; ssrc: number }

DLRR Sub-Report.

-

Type declaration

  • dlrr: number

    Delay since last RR.

    -
  • lrr: number

    Last RR timestamp.

    -
  • ssrc: number

    SSRC of receiver.

    -
diff --git a/docs/types/packets.DrleExtendedReportDump.html b/docs/types/packets.DrleExtendedReportDump.html deleted file mode 100644 index a1fdb404..00000000 --- a/docs/types/packets.DrleExtendedReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -DrleExtendedReportDump | rtp.js - v0.13.1

Type Alias DrleExtendedReportDump

DrleExtendedReportDump: ExtendedReportDump & {
    beginSeq: number;
    chunks: number[];
    endSeq: number;
    ssrc: number;
    thinning: number;
}

Duplicate RLE Extended Report dump.

-
diff --git a/docs/types/packets.EcnExtendedReportDump.html b/docs/types/packets.EcnExtendedReportDump.html deleted file mode 100644 index ae42f72b..00000000 --- a/docs/types/packets.EcnExtendedReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -EcnExtendedReportDump | rtp.js - v0.13.1

Type Alias EcnExtendedReportDump

EcnExtendedReportDump: ExtendedReportDump & {
    duplicationCounter: number;
    ecnCeCounter: number;
    ect0Counter: number;
    ect1Counter: number;
    lostPacketsCounter: number;
    nonEctCounter: number;
    ssrc: number;
}

ECN Summary Extended Report dump.

-
diff --git a/docs/types/packets.EcnPacketDump.html b/docs/types/packets.EcnPacketDump.html deleted file mode 100644 index 03d16801..00000000 --- a/docs/types/packets.EcnPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -EcnPacketDump | rtp.js - v0.13.1

Type Alias EcnPacketDump

EcnPacketDump: FeedbackPacketDump & {
    duplicationCounter: number;
    ecnCeCounter: number;
    ect0Counter: number;
    ect1Counter: number;
    extendedHighestSequenceNumber: number;
    lostPacketsCounter: number;
    nonEctCounter: number;
}

RTCP ECN packet info dump.

-
diff --git a/docs/types/packets.ExtendedJitterReportsPacketDump.html b/docs/types/packets.ExtendedJitterReportsPacketDump.html deleted file mode 100644 index 954f6ae9..00000000 --- a/docs/types/packets.ExtendedJitterReportsPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -ExtendedJitterReportsPacketDump | rtp.js - v0.13.1

Type Alias ExtendedJitterReportsPacketDump

ExtendedJitterReportsPacketDump: RtcpPacketDump & { jitters: number[] }

RTCP Extended Jitter Reports packet info dump.

-
diff --git a/docs/types/packets.ExtendedReportChunk.html b/docs/types/packets.ExtendedReportChunk.html deleted file mode 100644 index 9c110104..00000000 --- a/docs/types/packets.ExtendedReportChunk.html +++ /dev/null @@ -1,31 +0,0 @@ -ExtendedReportChunk | rtp.js - v0.13.1

Type Alias ExtendedReportChunk

ExtendedReportChunk: {
    bitVector?: number;
    chunkType: "run-length" | "bit-vector" | "terminating-null";
    runLength?: number;
    runType?: "zeros" | "ones";
}

Loss RLE and Duplicate RLE Extended Report chunk info.

-
Run Length Chunk
- 0                   1
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|C|R|        run length         |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-Bit Vector Chunk
- 0                   1
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|C|        bit vector           |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-Terminating Null Chunk
- 0                   1
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- -

Type declaration

  • OptionalbitVector?: number

    Chunk bit vector (only set if chunkType is 'bit-vector').

    -
  • chunkType: "run-length" | "bit-vector" | "terminating-null"

    Chunk type (Run Length Chunk, Bit Vector Chunk or Terminating Null Chunk).

    -
  • OptionalrunLength?: number

    Chunk run length (only set if chunkType is 'run-length').

    -
  • OptionalrunType?: "zeros" | "ones"

    Chunk run type (only set if chunkType is 'run-length').

    -
diff --git a/docs/types/packets.ExtendedReportDump.html b/docs/types/packets.ExtendedReportDump.html deleted file mode 100644 index bc86bd83..00000000 --- a/docs/types/packets.ExtendedReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -ExtendedReportDump | rtp.js - v0.13.1

Type Alias ExtendedReportDump

ExtendedReportDump: SerializableDump & { reportType: ExtendedReportType }

Extended Report dump.

-
diff --git a/docs/types/packets.FeedbackPacketDump.html b/docs/types/packets.FeedbackPacketDump.html deleted file mode 100644 index dc3969b9..00000000 --- a/docs/types/packets.FeedbackPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -FeedbackPacketDump | rtp.js - v0.13.1

Type Alias FeedbackPacketDump

FeedbackPacketDump: RtcpPacketDump & {
    mediaSsrc: number;
    messageType: RtpFeedbackMessageType | PsFeedbackMessageType;
    senderSsrc: number;
}

RTCP Feedback packet info dump.

-
diff --git a/docs/types/packets.GenericExtendedReportDump.html b/docs/types/packets.GenericExtendedReportDump.html deleted file mode 100644 index 143127e2..00000000 --- a/docs/types/packets.GenericExtendedReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -GenericExtendedReportDump | rtp.js - v0.13.1

Type Alias GenericExtendedReportDump

GenericExtendedReportDump: ExtendedReportDump

Generic Extended Report dump.

-
diff --git a/docs/types/packets.GenericFeedbackPacketDump.html b/docs/types/packets.GenericFeedbackPacketDump.html deleted file mode 100644 index 98a86815..00000000 --- a/docs/types/packets.GenericFeedbackPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -GenericFeedbackPacketDump | rtp.js - v0.13.1

Type Alias GenericFeedbackPacketDump

GenericFeedbackPacketDump: FeedbackPacketDump & { bodyLength: number }

RTCP generic Feedback packet info.

-
diff --git a/docs/types/packets.GenericPacketDump.html b/docs/types/packets.GenericPacketDump.html deleted file mode 100644 index 38c98abc..00000000 --- a/docs/types/packets.GenericPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -GenericPacketDump | rtp.js - v0.13.1

Type Alias GenericPacketDump

GenericPacketDump: RtcpPacketDump & { bodyLength: number }

RTCP generic packet info dump.

-
diff --git a/docs/types/packets.LrleExtendedReportDump.html b/docs/types/packets.LrleExtendedReportDump.html deleted file mode 100644 index fc42e5bd..00000000 --- a/docs/types/packets.LrleExtendedReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -LrleExtendedReportDump | rtp.js - v0.13.1

Type Alias LrleExtendedReportDump

LrleExtendedReportDump: ExtendedReportDump & {
    beginSeq: number;
    chunks: number[];
    endSeq: number;
    ssrc: number;
    thinning: number;
}

Loss RLE Extended Report dump.

-
diff --git a/docs/types/packets.NackPacketDump.html b/docs/types/packets.NackPacketDump.html deleted file mode 100644 index 3b69a371..00000000 --- a/docs/types/packets.NackPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -NackPacketDump | rtp.js - v0.13.1

Type Alias NackPacketDump

NackPacketDump: FeedbackPacketDump & {
    items: { bitmask: number; pid: number }[];
}

RTCP NACK packet info dump.

-
diff --git a/docs/types/packets.PacketDump.html b/docs/types/packets.PacketDump.html deleted file mode 100644 index 697630aa..00000000 --- a/docs/types/packets.PacketDump.html +++ /dev/null @@ -1,5 +0,0 @@ -PacketDump | rtp.js - v0.13.1

Type Alias PacketDump

PacketDump: SerializableDump & { padding: number }

Packet info dump.

-
    -
  • Read the info dump type of each RTP and RTCP packet instead.
  • -
-
diff --git a/docs/types/packets.PliPacketDump.html b/docs/types/packets.PliPacketDump.html deleted file mode 100644 index 42bb2b49..00000000 --- a/docs/types/packets.PliPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -PliPacketDump | rtp.js - v0.13.1

Type Alias PliPacketDump

PliPacketDump: FeedbackPacketDump

RTCP PLI packet info dump.

-
diff --git a/docs/types/packets.PrtExtendedReportDump.html b/docs/types/packets.PrtExtendedReportDump.html deleted file mode 100644 index c8a86e80..00000000 --- a/docs/types/packets.PrtExtendedReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -PrtExtendedReportDump | rtp.js - v0.13.1

Type Alias PrtExtendedReportDump

PrtExtendedReportDump: ExtendedReportDump & {
    beginSeq: number;
    endSeq: number;
    receiptTimes: number[];
    ssrc: number;
    thinning: number;
}

Packet Receipt Times Extended Report dump.

-
diff --git a/docs/types/packets.ReceiverReportPacketDump.html b/docs/types/packets.ReceiverReportPacketDump.html deleted file mode 100644 index 396e75cb..00000000 --- a/docs/types/packets.ReceiverReportPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -ReceiverReportPacketDump | rtp.js - v0.13.1

Type Alias ReceiverReportPacketDump

ReceiverReportPacketDump: RtcpPacketDump & {
    reports: ReceptionReportDump[];
    ssrc: number;
}

RTCP Receiver Report packet info dump.

-
diff --git a/docs/types/packets.ReceptionReportDump.html b/docs/types/packets.ReceptionReportDump.html deleted file mode 100644 index b772ea74..00000000 --- a/docs/types/packets.ReceptionReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -ReceptionReportDump | rtp.js - v0.13.1

Type Alias ReceptionReportDump

ReceptionReportDump: SerializableDump & {
    dlsr: number;
    fractionLost: number;
    highestSeq: number;
    jitter: number;
    lsr: number;
    ssrc: number;
    totalLost: number;
}

Reception Report dump.

-
diff --git a/docs/types/packets.RpsiPacketDump.html b/docs/types/packets.RpsiPacketDump.html deleted file mode 100644 index 01a6c843..00000000 --- a/docs/types/packets.RpsiPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -RpsiPacketDump | rtp.js - v0.13.1

Type Alias RpsiPacketDump

RpsiPacketDump: FeedbackPacketDump & {
    bitStringLength: number;
    paddingBits: number;
    payloadType: number;
}

RTCP RPSI packet info dump.

-
diff --git a/docs/types/packets.RrtExtendedReportDump.html b/docs/types/packets.RrtExtendedReportDump.html deleted file mode 100644 index 7551a48f..00000000 --- a/docs/types/packets.RrtExtendedReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -RrtExtendedReportDump | rtp.js - v0.13.1

Type Alias RrtExtendedReportDump

RrtExtendedReportDump: ExtendedReportDump & {
    ntpFraction: number;
    ntpSeq: number;
}

Receiver Reference Time Extended Report dump.

-
diff --git a/docs/types/packets.RtcpPacketDump.html b/docs/types/packets.RtcpPacketDump.html deleted file mode 100644 index 763652fc..00000000 --- a/docs/types/packets.RtcpPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -RtcpPacketDump | rtp.js - v0.13.1

Type Alias RtcpPacketDump

RtcpPacketDump: PacketDump & { count: number; packetType: RtcpPacketType }

Base RTCP packet info dump.

-
diff --git a/docs/types/packets.RtpExtensionMapping.html b/docs/types/packets.RtpExtensionMapping.html deleted file mode 100644 index 38a0ea59..00000000 --- a/docs/types/packets.RtpExtensionMapping.html +++ /dev/null @@ -1,5 +0,0 @@ -RtpExtensionMapping | rtp.js - v0.13.1

Type Alias RtpExtensionMapping

RtpExtensionMapping: Partial<Record<RtpExtensionType, number>>

Mapping of RTP extension types and their corresponding RTP extension ids.

-
const rtpExtensionMapping: RtpExtensionMapping =
{
[RtpExtensionType.MID]: 1,
[RtpExtensionType.RTP_STREAM_ID]: 3
-
- -
diff --git a/docs/types/packets.RtpPacketDump.html b/docs/types/packets.RtpPacketDump.html deleted file mode 100644 index 7bfe6c21..00000000 --- a/docs/types/packets.RtpPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -RtpPacketDump | rtp.js - v0.13.1

Type Alias RtpPacketDump

RtpPacketDump: PacketDump & {
    absSendTimeExt?: number;
    csrcs: number[];
    extensions: { id: number; length: number }[];
    headerExtensionId?: number;
    marker: boolean;
    midExt?: string;
    payloadLength: number;
    payloadType: number;
    repairedRidExt?: string;
    ridExt?: string;
    sequenceNumber: number;
    ssrc: number;
    ssrcAudioLevelExt?: SsrcAudioLevelExtension;
    timestamp: number;
    transmissionOffsetExt?: number;
    transportWideSeqNumberExt?: number;
    videoOrientationExt?: VideoOrientationExtension;
}

RTP packet info dump.

-
diff --git a/docs/types/packets.SdesChunkDump.html b/docs/types/packets.SdesChunkDump.html deleted file mode 100644 index b83a71cb..00000000 --- a/docs/types/packets.SdesChunkDump.html +++ /dev/null @@ -1,2 +0,0 @@ -SdesChunkDump | rtp.js - v0.13.1

Type Alias SdesChunkDump

SdesChunkDump: SerializableDump & {
    items: { text: string; type: SdesItemType }[];
    ssrc: number;
}

SDES Chunk dump.

-
diff --git a/docs/types/packets.SdesPacketDump.html b/docs/types/packets.SdesPacketDump.html deleted file mode 100644 index b15f8282..00000000 --- a/docs/types/packets.SdesPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -SdesPacketDump | rtp.js - v0.13.1

Type Alias SdesPacketDump

SdesPacketDump: RtcpPacketDump & { chunks: SdesChunkDump[] }

RTCP SDES packet info dump.

-
diff --git a/docs/types/packets.SenderReportPacketDump.html b/docs/types/packets.SenderReportPacketDump.html deleted file mode 100644 index de9808a9..00000000 --- a/docs/types/packets.SenderReportPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -SenderReportPacketDump | rtp.js - v0.13.1

Type Alias SenderReportPacketDump

SenderReportPacketDump: RtcpPacketDump & {
    ntpFraction: number;
    ntpSeq: number;
    octetCount: number;
    packetCount: number;
    reports: ReceptionReportDump[];
    rtpTimestamp: number;
    ssrc: number;
}

RTCP Sender Report packet info dump.

-
diff --git a/docs/types/packets.SerializableDump.html b/docs/types/packets.SerializableDump.html deleted file mode 100644 index 589d6149..00000000 --- a/docs/types/packets.SerializableDump.html +++ /dev/null @@ -1,2 +0,0 @@ -SerializableDump | rtp.js - v0.13.1

Type Alias SerializableDump

SerializableDump: { byteLength: number }

Serializable info dump.

-

Type declaration

  • byteLength: number
diff --git a/docs/types/packets.SliPacketDump.html b/docs/types/packets.SliPacketDump.html deleted file mode 100644 index 2ab1ab1a..00000000 --- a/docs/types/packets.SliPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -SliPacketDump | rtp.js - v0.13.1

Type Alias SliPacketDump

SliPacketDump: FeedbackPacketDump & {
    items: { first: number; number: number; pictureId: number }[];
}

RTCP SLI packet info dump.

-
diff --git a/docs/types/packets.SrReqPacketDump.html b/docs/types/packets.SrReqPacketDump.html deleted file mode 100644 index 30378d4d..00000000 --- a/docs/types/packets.SrReqPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -SrReqPacketDump | rtp.js - v0.13.1

Type Alias SrReqPacketDump

SrReqPacketDump: FeedbackPacketDump

RTCP SR REQ packet info dump.

-
diff --git a/docs/types/packets.SsExtendedReportDump.html b/docs/types/packets.SsExtendedReportDump.html deleted file mode 100644 index 3aa9fde7..00000000 --- a/docs/types/packets.SsExtendedReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -SsExtendedReportDump | rtp.js - v0.13.1

Type Alias SsExtendedReportDump

SsExtendedReportDump: ExtendedReportDump & {
    beginSeq: number;
    devJitter?: number;
    devTtlOrHl?: number;
    duplicatePackets?: number;
    endSeq: number;
    lostPackets?: number;
    maxJitter?: number;
    maxTtlOrHl?: number;
    meanJitter?: number;
    meanTtlOrHl?: number;
    minJitter?: number;
    minTtlOrHl?: number;
    ssrc: number;
    ttlOrHlMode?: "ipv4-ttl" | "ipv6-hop-limit";
}

Statistics Summary Extended Report dump.

-
diff --git a/docs/types/packets.SsrcAudioLevelExtension.html b/docs/types/packets.SsrcAudioLevelExtension.html deleted file mode 100644 index ee85fe66..00000000 --- a/docs/types/packets.SsrcAudioLevelExtension.html +++ /dev/null @@ -1,8 +0,0 @@ -SsrcAudioLevelExtension | rtp.js - v0.13.1

Type Alias SsrcAudioLevelExtension

SsrcAudioLevelExtension: { voice: boolean; volume: number }

SSRC Audio Level data.

-

Type declaration

  • voice: boolean

    Whether the encoder believes the audio packet contains voice activity.

    -
  • volume: number

    Audio level expressed in -dBov, with values from 0 to 127 representing 0 -to -127 dBov.

    -
-
diff --git a/docs/types/packets.VideoOrientationExtension.html b/docs/types/packets.VideoOrientationExtension.html deleted file mode 100644 index 1aab19c7..00000000 --- a/docs/types/packets.VideoOrientationExtension.html +++ /dev/null @@ -1,9 +0,0 @@ -VideoOrientationExtension | rtp.js - v0.13.1

Type Alias VideoOrientationExtension

VideoOrientationExtension: { camera: boolean; flip: boolean; rotation: number }

Video Orientation data.

-

Type declaration

  • camera: boolean
  • flip: boolean
  • rotation: number

    0: no rotation. -1: rotation is 90º. -2: rotation is 180º. -3: rotation is 270º.

    -
diff --git a/docs/types/packets.VmExtendedReportDump.html b/docs/types/packets.VmExtendedReportDump.html deleted file mode 100644 index d82fd083..00000000 --- a/docs/types/packets.VmExtendedReportDump.html +++ /dev/null @@ -1,2 +0,0 @@ -VmExtendedReportDump | rtp.js - v0.13.1

Type Alias VmExtendedReportDump

VmExtendedReportDump: ExtendedReportDump & {
    burstDensity: number;
    burstDuration: number;
    discardRate: number;
    endSystemDelay: number;
    extRFactor: number;
    gapDensity: number;
    gapDuration: number;
    gmin: number;
    jba: number;
    jbAbsMax: number;
    jbMax: number;
    jbNominal: number;
    jbRate: number;
    lossRate: number;
    mosCq: number;
    mosLq: number;
    noiseLevel: number;
    plc: number;
    rerl: number;
    rFactor: number;
    roundTripDelay: number;
    signalLevel: number;
    ssrc: number;
}

VoIP Metrics Extended Report dump.

-
diff --git a/docs/types/packets.XrPacketDump.html b/docs/types/packets.XrPacketDump.html deleted file mode 100644 index e0abc346..00000000 --- a/docs/types/packets.XrPacketDump.html +++ /dev/null @@ -1,2 +0,0 @@ -XrPacketDump | rtp.js - v0.13.1

Type Alias XrPacketDump

XrPacketDump: RtcpPacketDump & { reports: ExtendedReportDump[]; ssrc: number }

RTCP XR packet info dump.

-
diff --git a/eslint.config.mjs b/eslint.config.mjs index b62ac546..30e0fbf1 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -118,7 +118,7 @@ const config = tsEslint.config( files: ['src/**/*.ts'], })), { - name: 'mediasoup-client .ts files', + name: '.ts files', files: ['src/**/*.ts'], languageOptions: { parserOptions: { @@ -163,7 +163,7 @@ const config = tsEslint.config( }, }, { - name: 'mediasoup-client .ts test files', + name: '.ts test files', ...jestEslint.configs['flat/recommended'], files: ['src/test/**/*.ts'], rules: { diff --git a/npm-scripts.mjs b/npm-scripts.mjs index 603919ca..2a6152da 100644 --- a/npm-scripts.mjs +++ b/npm-scripts.mjs @@ -8,6 +8,7 @@ const RELEASE_BRANCH = 'master'; // Paths for ESLint to check. Converted to string for convenience. const ESLINT_PATHS = [ 'eslint.config.mjs', + 'rollup.config.mjs', 'typedoc.config.mjs', 'src', 'npm-scripts.mjs', @@ -19,7 +20,9 @@ const ESLINT_IGNORE_PATTERN_ARGS = [] // Paths for Prettier to check/write. Converted to string for convenience. const PRETTIER_PATHS = [ 'README.md', + 'babel.config.cjs', 'eslint.config.mjs', + 'rollup.config.mjs', 'typedoc.config.mjs', 'src', 'npm-scripts.mjs', @@ -61,7 +64,7 @@ async function run() { case 'typescript:watch': { deleteLib(); - executeCmd(`tsc --watch ${args}`); + executeCmd('rollup --config --watch'); break; } @@ -159,7 +162,8 @@ function buildTypescript({ force = false } = { force: false }) { logInfo('buildTypescript()'); deleteLib(); - executeCmd('tsc'); + executeCmd('tsc --noEmit'); + executeCmd('rollup --config'); } function lint() { diff --git a/package-lock.json b/package-lock.json index d7b80c42..4510e33d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,23 +13,30 @@ "supports-color": "^10.0.0" }, "devDependencies": { - "@eslint/js": "^9.21.0", + "@babel/preset-env": "^7.26.9", + "@babel/preset-typescript": "^7.26.0", + "@eslint/js": "^9.22.0", "@types/debug": "^4.1.12", "@types/jest": "^29.5.14", - "@typescript-eslint/eslint-plugin": "^8.26.0", - "@typescript-eslint/parser": "^8.26.0", - "eslint": "^9.21.0", + "@typescript-eslint/eslint-plugin": "^8.26.1", + "@typescript-eslint/parser": "^8.26.1", + "esbuild": "^0.25.1", + "eslint": "^9.22.0", "eslint-config-prettier": "^10.1.1", "eslint-plugin-jest": "^28.11.0", "eslint-plugin-prettier": "^5.2.3", + "glob": "^11.0.1", "globals": "^16.0.0", "jest": "^29.7.0", "open-cli": "^8.0.0", "prettier": "^3.5.3", + "rollup": "^4.35.0", + "rollup-plugin-dts": "^6.1.1", + "rollup-plugin-esbuild": "^6.2.1", "ts-jest": "^29.2.6", "typedoc": "^0.27.9", "typescript": "~5.8.2", - "typescript-eslint": "^8.26.0" + "typescript-eslint": "^8.26.1" }, "engines": { "node": ">=18" @@ -73,10 +80,11 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", - "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -112,14 +120,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", - "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.3", - "@babel/types": "^7.26.3", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -128,17 +136,60 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", - "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-validator-option": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1" + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", + "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.26.9", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -147,74 +198,175 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "node_modules/@babel/helper-replace-supers": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -241,36 +393,52 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", + "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.10" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.26.3" + "@babel/types": "^7.26.9" }, "bin": { "parser": "bin/babel-parser.js" @@ -279,6 +447,103 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -315,6 +580,38 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", @@ -340,12 +637,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -442,12 +740,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -456,1963 +755,2116 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", - "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.3", - "@babel/parser": "^7.26.3", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.3", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", + "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.26.8" + }, "engines": { - "node": ">=4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", + "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", "dev": true, + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/core": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", - "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.15" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz", - "integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "globals": "^11.1.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6.9.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/js": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz", - "integrity": "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", - "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@eslint/core": "^0.12.0", - "levn": "^0.4.1" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@gerrit0/mini-shiki": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-1.25.1.tgz", - "integrity": "sha512-BQ3iwLtmacJpW59cB0TM4ATGMLIz+Ps+9MUxrd7ds4MtYzzPvT6WLYpabYIqEP190hU0Olb8guXZmVp9o58ntw==", + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/engine-oniguruma": "^1.25.1", - "@shikijs/types": "^1.25.1", - "@shikijs/vscode-textmate": "^10.0.1" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, "engines": { - "node": ">=18.18.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=18.18.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, "engines": { - "node": ">=18.18" + "node": ">=6.9.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz", + "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, "engines": { - "node": ">=12.22" + "node": ">=6.9.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, "engines": { - "node": ">=18.18" + "node": ">=6.9.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", "dev": true, + "license": "MIT", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.26.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", + "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", "dev": true, + "license": "MIT", "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", "dev": true, + "license": "MIT", "dependencies": { - "jest-get-type": "^29.6.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", "dev": true, + "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", - "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", "dev": true, + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", + "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", + "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz", + "integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@babel/preset-env": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", + "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/compat-data": "^7.26.8", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.26.8", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.26.5", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.26.3", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.26.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.26.3", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.26.8", + "@babel/plugin-transform-typeof-symbol": "^7.26.7", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.11.0", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.40.0", + "semver": "^6.3.1" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@babel/runtime": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", + "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "regenerator-runtime": "^0.14.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.9.0" } }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@babel/template": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "node_modules/@babel/traverse": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", + "debug": "^4.3.1", + "globals": "^11.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">=4" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/@babel/types": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", + "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", + "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@nicolo-ribaudo/semver-v6": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", - "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==", + "node_modules/@esbuild/android-arm": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", + "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", + "cpu": [ + "arm" + ], "dev": true, - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@esbuild/android-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", + "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@esbuild/android-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", + "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", + "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", + "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" + "node": ">=18" } }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "1.26.1", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.26.1.tgz", - "integrity": "sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", + "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@shikijs/types": "1.26.1", - "@shikijs/vscode-textmate": "^10.0.1" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@shikijs/types": { - "version": "1.26.1", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.26.1.tgz", - "integrity": "sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", + "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@shikijs/vscode-textmate": "^10.0.1", - "@types/hast": "^3.0.4" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.1.tgz", - "integrity": "sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==", + "node_modules/@esbuild/linux-arm": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", + "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", + "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", + "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@tokenizer/token": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", + "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", + "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", + "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", + "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", + "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@types/ms": "*" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", - "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", + "node_modules/@esbuild/linux-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", + "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@types/node": "*" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", + "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "*" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", + "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", + "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/jest": { - "version": "29.5.14", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", - "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", + "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", + "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.4.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.5.tgz", - "integrity": "sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", + "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", + "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@types/yargs-parser": "*" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.0.tgz", - "integrity": "sha512-cLr1J6pe56zjKYajK6SSSre6nl1Gj6xDp1TY0trpgPzjVbgDwd09v2Ws37LABxzkicmUjhEeg/fAUjPJJB1v5Q==", + "node_modules/@esbuild/win32-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", + "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/type-utils": "8.26.0", - "@typescript-eslint/utils": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.1" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "node": ">=18" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.0.tgz", - "integrity": "sha512-mNtXP9LTVBy14ZF3o7JG69gRPBK/2QWtQd0j0oH26HcY/foyJJau6pNUez7QrM5UHnSvwlQcJXKsk0I99B9pOA==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", - "debug": "^4.3.4" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.0.tgz", - "integrity": "sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" - }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.0.tgz", - "integrity": "sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==", + "node_modules/@eslint/config-array": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/utils": "8.26.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.0.1" + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", - "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", + "node_modules/@eslint/config-helpers": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz", + "integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "node_modules/@eslint/eslintrc": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz", + "integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "node_modules/@eslint/eslintrc/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } + "license": "Python-2.0" }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz", - "integrity": "sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==", + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "argparse": "^2.0.1" }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "node_modules/@eslint/js": { + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz", + "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.26.0", - "eslint-visitor-keys": "^4.2.0" - }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "dev": true, "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" } }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "node_modules/@eslint/plugin-kit": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", + "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.12.0", + "levn": "^0.4.1" }, "engines": { - "node": ">=0.4.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@gerrit0/mini-shiki": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-1.25.1.tgz", + "integrity": "sha512-BQ3iwLtmacJpW59cB0TM4ATGMLIz+Ps+9MUxrd7ds4MtYzzPvT6WLYpabYIqEP190hU0Olb8guXZmVp9o58ntw==", "dev": true, "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "@shikijs/engine-oniguruma": "^1.25.1", + "@shikijs/types": "^1.25.1", + "@shikijs/vscode-textmate": "^10.0.1" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" }, "funding": { "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, "engines": { - "node": ">=8" + "node": ">=12.22" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, "license": "MIT" }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12" }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "has-flag": "^4.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, "dependencies": { - "fast-json-stable-stringify": "2.x" + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" + "jest-get-type": "^29.6.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001515", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001515.tgz", - "integrity": "sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/create-jest": { + "node_modules/@jest/reporters": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/create-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/create-jest/node_modules/chalk": { + "node_modules/@jest/reporters/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -2428,947 +2880,3322 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/create-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/create-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/create-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { - "type-fest": "^1.0.1" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "license": "MIT", + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, "dependencies": { - "ms": "^2.1.3" + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "engines": { - "node": ">=18" + "dependencies": { + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.455", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.455.tgz", - "integrity": "sha512-8tgdX0Odl24LtmLwxotpJCVjIndN559AvaOtd67u+2mo+IDsgsTF580NB+uuDCqsHw8yFg53l5+imFV9Fw3cbA==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "node": ">=6.0.0" } }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" + "node": ">=6.0.0" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/eslint": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.21.0.tgz", - "integrity": "sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.2", - "@eslint/core": "^0.12.0", - "@eslint/eslintrc": "^3.3.0", - "@eslint/js": "9.21.0", - "@eslint/plugin-kit": "^0.2.7", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/eslint-config-prettier": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.1.tgz", - "integrity": "sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==", + "node_modules/@nicolo-ribaudo/semver-v6": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", + "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==", "dev": true, - "license": "MIT", "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-jest": { - "version": "28.11.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.11.0.tgz", - "integrity": "sha512-QAfipLcNCWLVocVbZW8GimKn5p5iiMcgGbRzz8z/P5q7xw+cNEpYqyzFMtIF/ZgF2HLOyy+dYBut+DoYolvqig==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^16.10.0 || ^18.12.0 || >=20.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", - "jest": "*" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } + "node": ">= 8" } }, - "node_modules/eslint-plugin-prettier": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz", - "integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" - }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } + "node": ">= 8" } }, - "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 8" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://opencollective.com/unts" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.35.0.tgz", + "integrity": "sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.35.0.tgz", + "integrity": "sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.35.0.tgz", + "integrity": "sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.35.0.tgz", + "integrity": "sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==", + "cpu": [ + "x64" + ], "dev": true, - "engines": { + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.35.0.tgz", + "integrity": "sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.35.0.tgz", + "integrity": "sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.35.0.tgz", + "integrity": "sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.35.0.tgz", + "integrity": "sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.35.0.tgz", + "integrity": "sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.35.0.tgz", + "integrity": "sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.35.0.tgz", + "integrity": "sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.35.0.tgz", + "integrity": "sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.35.0.tgz", + "integrity": "sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.35.0.tgz", + "integrity": "sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.35.0.tgz", + "integrity": "sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.35.0.tgz", + "integrity": "sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.35.0.tgz", + "integrity": "sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.35.0.tgz", + "integrity": "sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.35.0.tgz", + "integrity": "sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.26.1.tgz", + "integrity": "sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.26.1", + "@shikijs/vscode-textmate": "^10.0.1" + } + }, + "node_modules/@shikijs/types": { + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.26.1.tgz", + "integrity": "sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.1.tgz", + "integrity": "sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dev": true, + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", + "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.4.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.5.tgz", + "integrity": "sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz", + "integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/type-utils": "8.26.1", + "@typescript-eslint/utils": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz", + "integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz", + "integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/utils": "8.26.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", + "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.1", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001703", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001703.tgz", + "integrity": "sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/core-js-compat": { + "version": "3.41.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz", + "integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dev": true, + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.114", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.114.tgz", + "integrity": "sha512-DFptFef3iktoKlFQK/afbo274/XNWD00Am0xa7M8FZUepHlHT8PEuiNBoRfFHbH1okqN58AlhbJ4QTkcnXorjA==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", + "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.1", + "@esbuild/android-arm": "0.25.1", + "@esbuild/android-arm64": "0.25.1", + "@esbuild/android-x64": "0.25.1", + "@esbuild/darwin-arm64": "0.25.1", + "@esbuild/darwin-x64": "0.25.1", + "@esbuild/freebsd-arm64": "0.25.1", + "@esbuild/freebsd-x64": "0.25.1", + "@esbuild/linux-arm": "0.25.1", + "@esbuild/linux-arm64": "0.25.1", + "@esbuild/linux-ia32": "0.25.1", + "@esbuild/linux-loong64": "0.25.1", + "@esbuild/linux-mips64el": "0.25.1", + "@esbuild/linux-ppc64": "0.25.1", + "@esbuild/linux-riscv64": "0.25.1", + "@esbuild/linux-s390x": "0.25.1", + "@esbuild/linux-x64": "0.25.1", + "@esbuild/netbsd-arm64": "0.25.1", + "@esbuild/netbsd-x64": "0.25.1", + "@esbuild/openbsd-arm64": "0.25.1", + "@esbuild/openbsd-x64": "0.25.1", + "@esbuild/sunos-x64": "0.25.1", + "@esbuild/win32-arm64": "0.25.1", + "@esbuild/win32-ia32": "0.25.1", + "@esbuild/win32-x64": "0.25.1" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint": { + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz", + "integrity": "sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.2", + "@eslint/config-helpers": "^0.1.0", + "@eslint/core": "^0.12.0", + "@eslint/eslintrc": "^3.3.0", + "@eslint/js": "9.22.0", + "@eslint/plugin-kit": "^0.2.7", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.1.tgz", + "integrity": "sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "28.11.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.11.0.tgz", + "integrity": "sha512-QAfipLcNCWLVocVbZW8GimKn5p5iiMcgGbRzz8z/P5q7xw+cNEpYqyzFMtIF/ZgF2HLOyy+dYBut+DoYolvqig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "engines": { + "node": "^16.10.0 || ^18.12.0 || >=20.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0 || ^8.0.0", + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", + "jest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz", + "integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.9.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/file-type": { + "version": "18.7.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.7.0.tgz", + "integrity": "sha512-ihHtXRzXEziMrQ56VSgU7wkxh55iNchFkosu7Y9/S+tXHdKyrGjVK0ujbqNnsxzea+78MaLhN6PGmfYSAv1ACw==", + "dev": true, + "dependencies": { + "readable-web-to-node-stream": "^3.0.2", + "strtok3": "^7.0.0", + "token-types": "^5.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true, + "license": "ISC" + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "node_modules/get-tsconfig": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", + "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", + "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=4" } }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, "engines": { - "node": ">=10" + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, - "dependencies": { - "p-limit": "^3.0.2" + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=0.10.0" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "dev": true, - "license": "Apache-2.0", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=14.16" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.12.0" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, "engines": { - "node": ">=0.10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "estraverse": "^5.2.0" + "is-inside-container": "^1.0.0" }, "engines": { - "node": ">=4.0" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, - "license": "BSD-2-Clause", "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, - "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">=8.6.0" + "node": ">=8" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/jackspeak": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.0.tgz", + "integrity": "sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "is-glob": "^4.0.1" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">= 6" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "reusify": "^1.0.4" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { - "bser": "2.1.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^4.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=8" } }, - "node_modules/file-type": { - "version": "18.7.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.7.0.tgz", - "integrity": "sha512-ihHtXRzXEziMrQ56VSgU7wkxh55iNchFkosu7Y9/S+tXHdKyrGjVK0ujbqNnsxzea+78MaLhN6PGmfYSAv1ACw==", + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "dependencies": { - "readable-web-to-node-stream": "^3.0.2", - "strtok3": "^7.0.0", - "token-types": "^5.0.1" + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=14.16" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "minimatch": "^5.0.1" + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, - "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/glob": { + "node_modules/jest-config/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3384,361 +6211,422 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" + "detect-newline": "^3.0.0" }, "engines": { - "node": ">=10.13.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/globals": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", - "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, "engines": { - "node": ">=10.17.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, "engines": { - "node": ">= 4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, - "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, - "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.8.19" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "dependencies": { - "has": "^1.0.3" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "bin": { - "is-docker": "cli.js" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "engines": { "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=0.12.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "is-inside-container": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=16" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", + "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { + "node_modules/jest-runner/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -3750,74 +6638,125 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jake": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", - "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/jake/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jake/node_modules/chalk": { + "node_modules/jest-snapshot/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3829,32 +6768,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jake/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jake/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jake/node_modules/supports-color": { + "node_modules/jest-snapshot/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3862,93 +6780,81 @@ "node": ">=8" } }, - "node_modules/jest": { + "node_modules/jest-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "dependencies": { - "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, - "bin": { - "jest": "bin/jest.js" + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "engines": { + "node": ">=10" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-circus": { + "node_modules/jest-validate": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", - "@types/node": "*", + "camelcase": "^6.2.0", "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-circus/node_modules/chalk": { + "node_modules/jest-validate/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -3964,25 +6870,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-circus/node_modules/supports-color": { + "node_modules/jest-validate/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -3994,55 +6882,26 @@ "node": ">=8" } }, - "node_modules/jest-cli": { + "node_modules/jest-watcher": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cli/node_modules/chalk": { + "node_modules/jest-watcher/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -4058,25 +6917,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-cli/node_modules/supports-color": { + "node_modules/jest-watcher/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -4088,3165 +6929,3193 @@ "node": ">=8" } }, - "node_modules/jest-config": { + "node_modules/jest-worker": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", + "@types/node": "*", "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=10" + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">=6" } }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" } }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", "dev": true }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "semver": "^7.5.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "tmpl": "1.0.5" } }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "bin": { + "markdown-it": "bin/markdown-it.mjs" } }, - "node_modules/jest-diff/node_modules/color-convert": { + "node_modules/markdown-it/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } + "license": "Python-2.0" }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true, + "license": "MIT" }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8.6" } }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6" } }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "*" } }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, + "license": "ISC", "engines": { - "node": ">=7.0.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "path-key": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "license": "ISC", + "dependencies": { + "wrappy": "1" } }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "mimic-fn": "^2.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", "dev": true, "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "node_modules/open-cli": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/open-cli/-/open-cli-8.0.0.tgz", + "integrity": "sha512-3muD3BbfLyzl+aMVSEfn2FfOqGdPYR0O4KNnxXsLEPE2q9OSjBfJAaB6XKbrUzLgymoSMejvb5jpXJfru/Ko2A==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "file-type": "^18.7.0", + "get-stdin": "^9.0.0", + "meow": "^12.1.1", + "open": "^10.0.0", + "tempy": "^3.1.0" + }, + "bin": { + "open-cli": "cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.8.0" } }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "yocto-queue": "^0.1.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "callsites": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8" } }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, + "license": "MIT", "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "has-flag": "^4.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=8" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz", + "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, + "license": "ISC", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "20 || >=22" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/peek-readable": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", "dev": true, "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" + "node": ">=14.16" }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "license": "ISC" }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "find-up": "^4.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.8.0" } }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/prettier": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=7.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "fast-diff": "^1.1.2" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/jest-runner": { + "node_modules/pretty-format": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 6" } }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, + "license": "MIT", "engines": { - "node": ">=7.0.0" + "node": ">=6" } }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "readable-stream": "^3.6.0" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } + "license": "MIT" }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "regenerate": "^1.4.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true, + "license": "MIT" }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@babel/runtime": "^7.8.4" } }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "node_modules/regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "jsesc": "~3.0.2" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=6" } }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "resolve-from": "^5.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, + "license": "MIT", "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/rollup": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.35.0.tgz", + "integrity": "sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.35.0", + "@rollup/rollup-android-arm64": "4.35.0", + "@rollup/rollup-darwin-arm64": "4.35.0", + "@rollup/rollup-darwin-x64": "4.35.0", + "@rollup/rollup-freebsd-arm64": "4.35.0", + "@rollup/rollup-freebsd-x64": "4.35.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.35.0", + "@rollup/rollup-linux-arm-musleabihf": "4.35.0", + "@rollup/rollup-linux-arm64-gnu": "4.35.0", + "@rollup/rollup-linux-arm64-musl": "4.35.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.35.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.35.0", + "@rollup/rollup-linux-riscv64-gnu": "4.35.0", + "@rollup/rollup-linux-s390x-gnu": "4.35.0", + "@rollup/rollup-linux-x64-gnu": "4.35.0", + "@rollup/rollup-linux-x64-musl": "4.35.0", + "@rollup/rollup-win32-arm64-msvc": "4.35.0", + "@rollup/rollup-win32-ia32-msvc": "4.35.0", + "@rollup/rollup-win32-x64-msvc": "4.35.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-dts": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.1.1.tgz", + "integrity": "sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==", "dev": true, + "license": "LGPL-3.0-only", "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "magic-string": "^0.30.10" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/Swatinem" + }, + "optionalDependencies": { + "@babel/code-frame": "^7.24.2" + }, + "peerDependencies": { + "rollup": "^3.29.4 || ^4", + "typescript": "^4.5 || ^5.0" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/rollup-plugin-esbuild": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-6.2.1.tgz", + "integrity": "sha512-jTNOMGoMRhs0JuueJrJqbW8tOwxumaWYq+V5i+PD+8ecSCVkuX27tGW7BXqDgoULQ55rO7IdNxPcnsWtshz3AA==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "debug": "^4.4.0", + "es-module-lexer": "^1.6.0", + "get-tsconfig": "^4.10.0", + "unplugin-utils": "^0.2.4" }, "engines": { - "node": ">=8" + "node": ">=14.18.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "esbuild": ">=0.18.0", + "rollup": "^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", "dev": true, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "queue-microtask": "^1.2.2" } }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" } }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "bin": { - "json5": "lib/cli.js" + "dependencies": { + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { - "json-buffer": "3.0.1" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "engines": { "node": ">=6" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strtok3": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "@tokenizer/token": "^0.3.0", + "peek-readable": "^5.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "node_modules/supports-color": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.0.0.tgz", + "integrity": "sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, - "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", - "dependencies": { - "uc.micro": "^2.0.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/synckit": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", + "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" } }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/temp-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", + "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", "dev": true, - "dependencies": { - "yallist": "^3.0.2" + "engines": { + "node": ">=14.16" } }, - "node_modules/lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "dev": true - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "node_modules/tempy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", + "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", "dev": true, "dependencies": { - "semver": "^7.5.3" + "is-stream": "^3.0.0", + "temp-dir": "^3.0.0", + "type-fest": "^2.12.2", + "unique-string": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "node_modules/tempy/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, - "dependencies": { - "tmpl": "1.0.5" + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/markdown-it": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "MIT", "dependencies": { - "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", - "mdurl": "^2.0.0", - "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, - "bin": { - "markdown-it": "bin/markdown-it.mjs" + "engines": { + "node": ">=8" } }, - "node_modules/markdown-it/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=16.10" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, "engines": { - "node": ">= 8" + "node": ">=8.0" } }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "node_modules/token-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", "dev": true, - "license": "MIT", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" }, "engines": { - "node": ">=8.6" + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/ts-api-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/ts-jest": { + "version": "29.2.6", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.6.tgz", + "integrity": "sha512-yTNZVZqc8lSixm+QGVFcPe6+yj7+TWZwIesuOWvfcn4B9bz5x4NDzVCQQjOs7Hfouu36aEqfEbo9Qpo+gq8dDg==", "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "bs-logger": "^0.2.6", + "ejs": "^3.1.10", + "fast-json-stable-stringify": "^2.1.0", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.7.1", + "yargs-parser": "^21.1.1" + }, + "bin": { + "ts-jest": "cli.js" }, "engines": { - "node": "*" + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/tslib": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", + "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "license": "0BSD" }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "dependencies": { - "path-key": "^3.0.0" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" + "node": ">= 0.8.0" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/open": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" - }, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/open-cli": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/open-cli/-/open-cli-8.0.0.tgz", - "integrity": "sha512-3muD3BbfLyzl+aMVSEfn2FfOqGdPYR0O4KNnxXsLEPE2q9OSjBfJAaB6XKbrUzLgymoSMejvb5jpXJfru/Ko2A==", + "node_modules/typedoc": { + "version": "0.27.9", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.27.9.tgz", + "integrity": "sha512-/z585740YHURLl9DN2jCWe6OW7zKYm6VoQ93H0sxZ1cwHQEQrUn5BJrEnkWhfzUdyO+BLGjnKUZ9iz9hKloFDw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "file-type": "^18.7.0", - "get-stdin": "^9.0.0", - "meow": "^12.1.1", - "open": "^10.0.0", - "tempy": "^3.1.0" + "@gerrit0/mini-shiki": "^1.24.0", + "lunr": "^2.3.9", + "markdown-it": "^14.1.0", + "minimatch": "^9.0.5", + "yaml": "^2.6.1" }, "bin": { - "open-cli": "cli.js" + "typedoc": "bin/typedoc" }, "engines": { - "node": ">=18" + "node": ">= 18" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" + "balanced-match": "^1.0.0" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/typedoc/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { - "yocto-queue": "^0.1.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/typescript": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "dev": true, - "dependencies": { - "p-limit": "^2.2.0" + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=8" + "node": ">=14.17" } }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/typescript-eslint": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.26.1.tgz", + "integrity": "sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "@typescript-eslint/eslint-plugin": "8.26.1", + "@typescript-eslint/parser": "8.26.1", + "@typescript-eslint/utils": "8.26.1" }, "engines": { - "node": ">=6" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", "dev": true, + "dependencies": { + "crypto-random-string": "^4.0.0" + }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/peek-readable": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", - "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", + "node_modules/unplugin-utils": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.2.4.tgz", + "integrity": "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==", "dev": true, + "license": "MIT", + "dependencies": { + "pathe": "^2.0.2", + "picomatch": "^4.0.2" + }, "engines": { - "node": ">=14.16" + "node": ">=18.12.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "url": "https://github.com/sponsors/sxzz" } }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/unplugin-utils/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, - "engines": { - "node": ">=8" + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "engines": { - "node": ">= 0.8.0" + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" } }, - "node_modules/prettier": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", - "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=10.12.0" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" + "makeerror": "1.0.12" } }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "license": "ISC" }, - "node_modules/punycode.js": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "license": "MIT", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "engines": { + "node": ">=10" + } }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/yaml": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "license": "ISC", + "bin": { + "yaml": "bin.mjs" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, - "node_modules/readable-web-to-node-stream": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", - "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { - "readable-stream": "^3.6.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "node": ">=12" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" } }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true + }, + "@babel/core": { + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", + "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", "dev": true, - "engines": { - "node": ">=10" + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "@nicolo-ribaudo/semver-v6": "^6.3.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2" } }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "@babel/generator": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "requires": { + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" } }, - "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/types": "^7.25.9" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "@babel/helper-compilation-targets": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", + "requires": { + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, "dependencies": { - "queue-microtask": "^1.2.2" + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "@babel/helper-create-class-features-plugin": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", + "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.26.9", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true } - ] + } }, - "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "@babel/helper-create-regexp-features-plugin": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" }, - "engines": { - "node": ">=10" + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "@babel/helper-define-polyfill-provider": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "requires": { + "@babel/types": "^7.25.9" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "dev": true }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "@babel/helper-remap-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "@babel/helper-replace-supers": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" + "requires": { + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" } }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "@babel/helpers": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", + "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "requires": { + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.10" } }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "@babel/parser": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "requires": { + "@babel/types": "^7.26.9" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", "dev": true, - "engines": { - "node": ">=8" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", "dev": true, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" } }, - "node_modules/strtok3": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", - "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", "dev": true, - "dependencies": { - "@tokenizer/token": "^0.3.0", - "peek-readable": "^5.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, - "node_modules/supports-color": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.0.0.tgz", - "integrity": "sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "requires": {} }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/synckit": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", - "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "license": "MIT", - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/temp-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", - "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "engines": { - "node": ">=14.16" + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" } }, - "node_modules/tempy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", - "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", + "@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", "dev": true, - "dependencies": { - "is-stream": "^3.0.0", - "temp-dir": "^3.0.0", - "type-fest": "^2.12.2", - "unique-string": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/tempy/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/tempy/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/token-types": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", - "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "dependencies": { - "@tokenizer/token": "^0.3.0", - "ieee754": "^1.2.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/ts-api-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", - "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/ts-jest": { - "version": "29.2.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.6.tgz", - "integrity": "sha512-yTNZVZqc8lSixm+QGVFcPe6+yj7+TWZwIesuOWvfcn4B9bz5x4NDzVCQQjOs7Hfouu36aEqfEbo9Qpo+gq8dDg==", + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "license": "MIT", - "dependencies": { - "bs-logger": "^0.2.6", - "ejs": "^3.1.10", - "fast-json-stable-stringify": "^2.1.0", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "^4.1.2", - "make-error": "^1.3.6", - "semver": "^7.7.1", - "yargs-parser": "^21.1.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/transform": "^29.0.0", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/transform": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "license": "0BSD" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/typedoc": { - "version": "0.27.9", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.27.9.tgz", - "integrity": "sha512-/z585740YHURLl9DN2jCWe6OW7zKYm6VoQ93H0sxZ1cwHQEQrUn5BJrEnkWhfzUdyO+BLGjnKUZ9iz9hKloFDw==", + "@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@gerrit0/mini-shiki": "^1.24.0", - "lunr": "^2.3.9", - "markdown-it": "^14.1.0", - "minimatch": "^9.0.5", - "yaml": "^2.6.1" - }, - "bin": { - "typedoc": "bin/typedoc" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/typedoc/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/typescript": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", - "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "@babel/plugin-transform-async-generator-functions": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", + "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" + "requires": { + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.26.8" } }, - "node_modules/typescript-eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.26.0.tgz", - "integrity": "sha512-PtVz9nAnuNJuAVeUFvwztjuUgSnJInODAUx47VDwWPXzd5vismPOtPtt83tzNXyOjVQbPRp786D6WFW/M2koIA==", + "@babel/plugin-transform-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.26.0", - "@typescript-eslint/parser": "8.26.0", - "@typescript-eslint/utils": "8.26.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "requires": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" } }, - "node_modules/uc.micro": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", + "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", "dev": true, - "license": "MIT" + "requires": { + "@babel/helper-plugin-utils": "^7.26.5" + } }, - "node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "@babel/plugin-transform-block-scoping": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", "dev": true, - "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "@babel/plugin-transform-class-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "@babel/plugin-transform-class-static-block": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", - "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" + "@babel/plugin-transform-classes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "globals": "^11.1.0" }, - "engines": { - "node": ">=10.12.0" + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } } }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "@babel/plugin-transform-computed-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" + } }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "@babel/plugin-transform-destructuring": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", "dev": true, - "dependencies": { - "makeerror": "1.0.12" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "@babel/plugin-transform-dotall-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "@babel/plugin-transform-duplicate-keys": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "@babel/plugin-transform-dynamic-import": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "@babel/plugin-transform-export-namespace-from": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "@babel/plugin-transform-for-of": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz", + "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==", "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "requires": { + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" } }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "@babel/plugin-transform-function-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", "dev": true, - "engines": { - "node": ">=10" + "requires": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "@babel/plugin-transform-json-strings": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } }, - "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "@babel/plugin-transform-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "@babel/plugin-transform-member-expression-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", "dev": true, - "engines": { - "node": ">=12" + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "@babel/plugin-transform-modules-amd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "@babel/plugin-transform-modules-commonjs": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "@babel/plugin-transform-modules-systemjs": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", "dev": true, "requires": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/traverse": "^7.25.9" } }, - "@babel/compat-data": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", - "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==", - "dev": true + "@babel/plugin-transform-modules-umd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } }, - "@babel/core": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", - "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", "dev": true, "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/generator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", - "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", + "@babel/plugin-transform-new-target": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", "dev": true, "requires": { - "@babel/parser": "^7.26.3", - "@babel/types": "^7.26.3", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/helper-compilation-targets": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", - "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.26.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", + "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", "dev": true, "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-validator-option": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1" + "@babel/helper-plugin-utils": "^7.26.5" } }, - "@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true + "@babel/plugin-transform-numeric-separator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "@babel/plugin-transform-object-rest-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" } }, - "@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "@babel/plugin-transform-object-super": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" } }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "@babel/plugin-transform-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" } }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "@babel/plugin-transform-parameters": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/helper-string-parser": { + "@babel/plugin-transform-private-methods": { "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "dev": true + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } }, - "@babel/helper-validator-identifier": { + "@babel/plugin-transform-private-property-in-object": { "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } }, - "@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", + "@babel/plugin-transform-property-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", "dev": true, "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", + "@babel/plugin-transform-regenerator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", "dev": true, "requires": { - "@babel/types": "^7.26.3" + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "@babel/plugin-transform-shorthand-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "@babel/plugin-transform-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "@babel/plugin-transform-sticky-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "@babel/plugin-transform-template-literals": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", + "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.26.5" } }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "@babel/plugin-transform-typeof-symbol": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", + "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.26.5" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "@babel/plugin-transform-typescript": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz", + "integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "@babel/plugin-transform-unicode-escapes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "@babel/plugin-transform-unicode-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/preset-env": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", + "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.26.8", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.26.8", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.26.5", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.26.3", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.26.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.26.3", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.26.8", + "@babel/plugin-transform-typeof-symbol": "^7.26.7", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.11.0", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.40.0", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "@babel/preset-typescript": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" } }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "@babel/runtime": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", + "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "regenerator-runtime": "^0.14.0" } }, "@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "dev": true, "requires": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" } }, "@babel/traverse": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", - "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", "dev": true, "requires": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.3", - "@babel/parser": "^7.26.3", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.3", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -7260,9 +10129,9 @@ } }, "@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", + "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", "dev": true, "requires": { "@babel/helper-string-parser": "^7.25.9", @@ -7275,6 +10144,181 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@esbuild/aix-ppc64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", + "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", + "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", + "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", + "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", + "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", + "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", + "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", + "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", + "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", + "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", + "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", + "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", + "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", + "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", + "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", + "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", + "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", + "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", + "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", + "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", + "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", + "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", + "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", + "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", + "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", + "dev": true, + "optional": true + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -7301,6 +10345,12 @@ "minimatch": "^3.1.2" } }, + "@eslint/config-helpers": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz", + "integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==", + "dev": true + }, "@eslint/core": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", @@ -7351,9 +10401,9 @@ } }, "@eslint/js": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz", - "integrity": "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==", + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz", + "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==", "dev": true }, "@eslint/object-schema": { @@ -7419,6 +10469,71 @@ "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", "dev": true }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -7452,15 +10567,6 @@ "slash": "^3.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -7471,21 +10577,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -7533,15 +10624,6 @@ "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -7552,21 +10634,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -7667,15 +10734,6 @@ "v8-to-istanbul": "^9.0.1" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -7686,21 +10744,20 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { - "color-name": "~1.1.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "istanbul-lib-instrument": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", @@ -7792,15 +10849,6 @@ "write-file-atomic": "^4.0.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -7811,21 +10859,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -7857,15 +10890,6 @@ "chalk": "^4.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -7876,21 +10900,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -7926,9 +10935,9 @@ "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "@jridgewell/trace-mapping": { @@ -7979,6 +10988,139 @@ "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.35.0.tgz", + "integrity": "sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.35.0.tgz", + "integrity": "sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.35.0.tgz", + "integrity": "sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.35.0.tgz", + "integrity": "sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-freebsd-arm64": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.35.0.tgz", + "integrity": "sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-freebsd-x64": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.35.0.tgz", + "integrity": "sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.35.0.tgz", + "integrity": "sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.35.0.tgz", + "integrity": "sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.35.0.tgz", + "integrity": "sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.35.0.tgz", + "integrity": "sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.35.0.tgz", + "integrity": "sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.35.0.tgz", + "integrity": "sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.35.0.tgz", + "integrity": "sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.35.0.tgz", + "integrity": "sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.35.0.tgz", + "integrity": "sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.35.0.tgz", + "integrity": "sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.35.0.tgz", + "integrity": "sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.35.0.tgz", + "integrity": "sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.35.0.tgz", + "integrity": "sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==", + "dev": true, + "optional": true + }, "@shikijs/engine-oniguruma": { "version": "1.26.1", "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.26.1.tgz", @@ -8189,16 +11331,16 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.0.tgz", - "integrity": "sha512-cLr1J6pe56zjKYajK6SSSre6nl1Gj6xDp1TY0trpgPzjVbgDwd09v2Ws37LABxzkicmUjhEeg/fAUjPJJB1v5Q==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz", + "integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/type-utils": "8.26.0", - "@typescript-eslint/utils": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/type-utils": "8.26.1", + "@typescript-eslint/utils": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -8206,54 +11348,54 @@ } }, "@typescript-eslint/parser": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.0.tgz", - "integrity": "sha512-mNtXP9LTVBy14ZF3o7JG69gRPBK/2QWtQd0j0oH26HcY/foyJJau6pNUez7QrM5UHnSvwlQcJXKsk0I99B9pOA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz", + "integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.0.tgz", - "integrity": "sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", "dev": true, "requires": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" } }, "@typescript-eslint/type-utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.0.tgz", - "integrity": "sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz", + "integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/utils": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/utils": "8.26.1", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" } }, "@typescript-eslint/types": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", - "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", "dev": true, "requires": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -8283,24 +11425,24 @@ } }, "@typescript-eslint/utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz", - "integrity": "sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", + "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0" + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" } }, "@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", "dev": true, "requires": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "dependencies": { @@ -8352,6 +11494,15 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -8392,15 +11543,6 @@ "slash": "^3.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8411,21 +11553,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8462,6 +11589,44 @@ "@types/babel__traverse": "^7.0.6" } }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.3" + } + }, "babel-preset-current-node-syntax": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", @@ -8518,15 +11683,15 @@ } }, "browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" } }, "bs-logger": { @@ -8575,9 +11740,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001515", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001515.tgz", - "integrity": "sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==", + "version": "1.0.30001703", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001703.tgz", + "integrity": "sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==", "dev": true }, "char-regex": { @@ -8621,6 +11786,21 @@ "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -8633,6 +11813,15 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, + "core-js-compat": { + "version": "3.41.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz", + "integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==", + "dev": true, + "requires": { + "browserslist": "^4.24.4" + } + }, "create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", @@ -8648,15 +11837,6 @@ "prompts": "^2.0.1" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8667,21 +11847,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8782,6 +11947,12 @@ "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", @@ -8792,9 +11963,9 @@ } }, "electron-to-chromium": { - "version": "1.4.455", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.455.tgz", - "integrity": "sha512-8tgdX0Odl24LtmLwxotpJCVjIndN559AvaOtd67u+2mo+IDsgsTF580NB+uuDCqsHw8yFg53l5+imFV9Fw3cbA==", + "version": "1.5.114", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.114.tgz", + "integrity": "sha512-DFptFef3iktoKlFQK/afbo274/XNWD00Am0xa7M8FZUepHlHT8PEuiNBoRfFHbH1okqN58AlhbJ4QTkcnXorjA==", "dev": true }, "emittery": { @@ -8824,24 +11995,64 @@ "is-arrayish": "^0.2.1" } }, + "es-module-lexer": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "dev": true + }, + "esbuild": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", + "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.25.1", + "@esbuild/android-arm": "0.25.1", + "@esbuild/android-arm64": "0.25.1", + "@esbuild/android-x64": "0.25.1", + "@esbuild/darwin-arm64": "0.25.1", + "@esbuild/darwin-x64": "0.25.1", + "@esbuild/freebsd-arm64": "0.25.1", + "@esbuild/freebsd-x64": "0.25.1", + "@esbuild/linux-arm": "0.25.1", + "@esbuild/linux-arm64": "0.25.1", + "@esbuild/linux-ia32": "0.25.1", + "@esbuild/linux-loong64": "0.25.1", + "@esbuild/linux-mips64el": "0.25.1", + "@esbuild/linux-ppc64": "0.25.1", + "@esbuild/linux-riscv64": "0.25.1", + "@esbuild/linux-s390x": "0.25.1", + "@esbuild/linux-x64": "0.25.1", + "@esbuild/netbsd-arm64": "0.25.1", + "@esbuild/netbsd-x64": "0.25.1", + "@esbuild/openbsd-arm64": "0.25.1", + "@esbuild/openbsd-x64": "0.25.1", + "@esbuild/sunos-x64": "0.25.1", + "@esbuild/win32-arm64": "0.25.1", + "@esbuild/win32-ia32": "0.25.1", + "@esbuild/win32-x64": "0.25.1" + } + }, "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true }, "eslint": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.21.0.tgz", - "integrity": "sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==", + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz", + "integrity": "sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.19.2", + "@eslint/config-helpers": "^0.1.0", "@eslint/core": "^0.12.0", "@eslint/eslintrc": "^3.3.0", - "@eslint/js": "9.21.0", + "@eslint/js": "9.22.0", "@eslint/plugin-kit": "^0.2.7", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -8853,7 +12064,7 @@ "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", + "eslint-scope": "^8.3.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "esquery": "^1.5.0", @@ -8872,15 +12083,6 @@ "optionator": "^0.9.3" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8891,21 +12093,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -8984,9 +12171,9 @@ } }, "eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -9240,6 +12427,24 @@ "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", "dev": true }, + "foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -9289,18 +12494,47 @@ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, + "get-tsconfig": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", + "dev": true, + "requires": { + "resolve-pkg-maps": "^1.0.0" + } + }, "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", + "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "glob-parent": { @@ -9573,6 +12807,15 @@ "istanbul-lib-report": "^3.0.0" } }, + "jackspeak": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.0.tgz", + "integrity": "sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2" + } + }, "jake": { "version": "10.9.2", "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", @@ -9585,15 +12828,6 @@ "minimatch": "^3.1.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9604,21 +12838,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9681,15 +12900,6 @@ "stack-utils": "^2.0.3" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9700,21 +12910,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9745,15 +12940,6 @@ "yargs": "^17.3.1" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9764,21 +12950,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9820,15 +12991,6 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9839,21 +13001,20 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { - "color-name": "~1.1.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9877,40 +13038,16 @@ "pretty-format": "^29.7.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "color-name": "~1.1.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9944,15 +13081,6 @@ "pretty-format": "^29.7.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9963,21 +13091,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10051,15 +13164,6 @@ "pretty-format": "^29.7.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10070,21 +13174,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10113,15 +13202,6 @@ "stack-utils": "^2.0.3" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10132,21 +13212,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10199,15 +13264,6 @@ "slash": "^3.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10218,21 +13274,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10283,15 +13324,6 @@ "source-map-support": "0.5.13" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10302,21 +13334,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10358,15 +13375,6 @@ "strip-bom": "^4.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10377,21 +13385,20 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { - "color-name": "~1.1.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10431,15 +13438,6 @@ "semver": "^7.5.3" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10450,21 +13448,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10490,15 +13473,6 @@ "picomatch": "^2.2.3" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10509,21 +13483,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10549,15 +13508,6 @@ "pretty-format": "^29.7.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", @@ -10574,21 +13524,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10616,15 +13551,6 @@ "string-length": "^4.0.1" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10635,21 +13561,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10791,6 +13702,12 @@ "p-locate": "^4.1.0" } }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -10818,6 +13735,15 @@ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", "dev": true }, + "magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, "make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -10913,6 +13839,12 @@ "brace-expansion": "^1.1.7" } }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -10931,9 +13863,9 @@ "dev": true }, "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true }, "normalize-path": { @@ -11043,6 +13975,12 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -11088,6 +14026,30 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "requires": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "dependencies": { + "lru-cache": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz", + "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", + "dev": true + } + } + }, + "pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true + }, "peek-readable": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", @@ -11095,9 +14057,9 @@ "dev": true }, "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "picomatch": { @@ -11221,6 +14183,73 @@ "readable-stream": "^3.6.0" } }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true + }, + "regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "dev": true, + "requires": { + "jsesc": "~3.0.2" + }, + "dependencies": { + "jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true + } + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -11253,6 +14282,12 @@ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, + "resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true + }, "resolve.exports": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", @@ -11265,6 +14300,57 @@ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true }, + "rollup": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.35.0.tgz", + "integrity": "sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.35.0", + "@rollup/rollup-android-arm64": "4.35.0", + "@rollup/rollup-darwin-arm64": "4.35.0", + "@rollup/rollup-darwin-x64": "4.35.0", + "@rollup/rollup-freebsd-arm64": "4.35.0", + "@rollup/rollup-freebsd-x64": "4.35.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.35.0", + "@rollup/rollup-linux-arm-musleabihf": "4.35.0", + "@rollup/rollup-linux-arm64-gnu": "4.35.0", + "@rollup/rollup-linux-arm64-musl": "4.35.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.35.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.35.0", + "@rollup/rollup-linux-riscv64-gnu": "4.35.0", + "@rollup/rollup-linux-s390x-gnu": "4.35.0", + "@rollup/rollup-linux-x64-gnu": "4.35.0", + "@rollup/rollup-linux-x64-musl": "4.35.0", + "@rollup/rollup-win32-arm64-msvc": "4.35.0", + "@rollup/rollup-win32-ia32-msvc": "4.35.0", + "@rollup/rollup-win32-x64-msvc": "4.35.0", + "@types/estree": "1.0.6", + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-dts": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.1.1.tgz", + "integrity": "sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.24.2", + "magic-string": "^0.30.10" + } + }, + "rollup-plugin-esbuild": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-6.2.1.tgz", + "integrity": "sha512-jTNOMGoMRhs0JuueJrJqbW8tOwxumaWYq+V5i+PD+8ecSCVkuX27tGW7BXqDgoULQ55rO7IdNxPcnsWtshz3AA==", + "dev": true, + "requires": { + "debug": "^4.4.0", + "es-module-lexer": "^1.6.0", + "get-tsconfig": "^4.10.0", + "unplugin-utils": "^0.2.4" + } + }, "run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -11394,6 +14480,17 @@ "strip-ansi": "^6.0.1" } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -11403,6 +14500,15 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -11493,6 +14599,22 @@ "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "tmpl": { @@ -11611,14 +14733,14 @@ "dev": true }, "typescript-eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.26.0.tgz", - "integrity": "sha512-PtVz9nAnuNJuAVeUFvwztjuUgSnJInODAUx47VDwWPXzd5vismPOtPtt83tzNXyOjVQbPRp786D6WFW/M2koIA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.26.1.tgz", + "integrity": "sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==", "dev": true, "requires": { - "@typescript-eslint/eslint-plugin": "8.26.0", - "@typescript-eslint/parser": "8.26.0", - "@typescript-eslint/utils": "8.26.0" + "@typescript-eslint/eslint-plugin": "8.26.1", + "@typescript-eslint/parser": "8.26.1", + "@typescript-eslint/utils": "8.26.1" } }, "uc.micro": { @@ -11627,6 +14749,34 @@ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, "unique-string": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", @@ -11636,14 +14786,32 @@ "crypto-random-string": "^4.0.0" } }, + "unplugin-utils": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.2.4.tgz", + "integrity": "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==", + "dev": true, + "requires": { + "pathe": "^2.0.2", + "picomatch": "^4.0.2" + }, + "dependencies": { + "picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true + } + } + }, "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" } }, "uri-js": { @@ -11707,32 +14875,17 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, "wrappy": { diff --git a/package.json b/package.json index 6bc0d54c..37469142 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,38 @@ "type": "git", "url": "git+https://github.com/versatica/rtp.js.git" }, - "main": "lib/index.js", - "types": "lib/index.d.ts", + "main": "./lib/rtpjs-bundle.cjs", + "module": "./lib/rtpjs-bundle.mjs", + "types": "./lib/rtpjs-bundle.d.ts", + "exports": { + ".": { + "import": "./lib/index.mjs", + "require": "./lib/index.cjs" + }, + "./index.d.ts": { + "import": "./lib/index.d.ts", + "require": "./lib/index.d.ts" + }, + "./packets": { + "import": "./lib/packets.mjs", + "require": "./lib/packets.cjs" + }, + "./packets.d.ts": { + "import": "./lib/packets.d.ts", + "require": "./lib/packets.d.ts" + }, + "./utils": { + "import": "./lib/utils.mjs", + "require": "./lib/utils.cjs" + }, + "./utils.d.ts": { + "import": "./lib/utils.d.ts", + "require": "./lib/utils.d.ts" + } + }, "files": [ - "npm-scripts.mjs", - "lib" + "./npm-scripts.mjs", + "./lib" ], "keywords": [ "rtp", @@ -44,47 +71,48 @@ "jest": { "verbose": true, "testEnvironment": "node", - "testRegex": "src/test/.*\\.test.*\\.ts", - "transform": { - "^.*\\.ts$": [ - "ts-jest", - { - "diagnostics": { - "ignoreCodes": [ - "TS151001" - ] - } - } - ] - }, + "moduleFileExtensions": [ + "js", + "mjs", + "ts", + "mts" + ], + "testRegex": "./src/test/.*.test.ts", "coveragePathIgnorePatterns": [ - "src/Logger.ts", - "src/utils", - "src/test" + "./src/Logger.ts", + "./src/utils", + "./src/test" ], - "cacheDirectory": ".cache/jest" + "cacheDirectory": "./.cache/jest" }, "dependencies": { "debug": "^4.4.0", "supports-color": "^10.0.0" }, "devDependencies": { + "@babel/preset-env": "^7.26.9", + "@babel/preset-typescript": "^7.26.0", + "@eslint/js": "^9.22.0", "@types/debug": "^4.1.12", - "@eslint/js": "^9.21.0", "@types/jest": "^29.5.14", - "@typescript-eslint/eslint-plugin": "^8.26.0", - "@typescript-eslint/parser": "^8.26.0", - "eslint": "^9.21.0", + "@typescript-eslint/eslint-plugin": "^8.26.1", + "@typescript-eslint/parser": "^8.26.1", + "esbuild": "^0.25.1", + "eslint": "^9.22.0", "eslint-config-prettier": "^10.1.1", "eslint-plugin-jest": "^28.11.0", "eslint-plugin-prettier": "^5.2.3", + "glob": "^11.0.1", "globals": "^16.0.0", "jest": "^29.7.0", "open-cli": "^8.0.0", "prettier": "^3.5.3", + "rollup": "^4.35.0", + "rollup-plugin-dts": "^6.1.1", + "rollup-plugin-esbuild": "^6.2.1", "ts-jest": "^29.2.6", "typedoc": "^0.27.9", "typescript": "~5.8.2", - "typescript-eslint": "^8.26.0" + "typescript-eslint": "^8.26.1" } } diff --git a/rollup.config.mjs b/rollup.config.mjs new file mode 100644 index 00000000..e1f67473 --- /dev/null +++ b/rollup.config.mjs @@ -0,0 +1,97 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import esbuild from 'rollup-plugin-esbuild'; +import dts from 'rollup-plugin-dts'; +import { globSync } from 'glob'; + +// Tell rollup explicitly that we don't want to include external dependencies +// in bundle files. +const external = id => !/^[./]/.test(id); + +export default [ + /** + * Create ES and CJS bundle files for index.ts and source map files. + */ + { + input: 'src/index.ts', + plugins: [esbuild({ include: /\.ts$/ })], + output: [ + { + format: 'es', + file: 'lib/rtpjs-bundle.mjs', + sourcemap: true, + }, + { + format: 'cjs', + file: 'lib/rtpjs-bundle.cjs', + sourcemap: true, + }, + ], + external: external, + }, + /** + * Create a .d.ts bundle file for TypeScript types. + */ + { + input: 'src/index.ts', + plugins: [dts({ include: /\.ts$/ })], + output: { + format: 'es', + file: 'lib/rtpjs-bundle.d.ts', + }, + external: external, + }, + /** + * Create ES and CJS bundles of index.ts, packets.ts and utils.ts and also + * source map files. + * + * NOTE: We also need to bundle utils/helpers.ts because it's used by + * packets.ts and, if not specified, rollup will generate two helpers-xxx.js + * files, one ES and another one CJS, and will make Node believe that both + * are CJS due to their .js extension. + */ + { + input: [ + 'src/index.ts', + 'src/packets.ts', + 'src/utils.ts', + 'src/utils/helpers.ts', + ], + plugins: [esbuild({ include: /\.ts$/ })], + output: [ + { + format: 'es', + dir: 'lib', + entryFileNames: '[name].mjs', + sourcemap: true, + }, + { + format: 'cjs', + dir: 'lib', + entryFileNames: '[name].cjs', + sourcemap: true, + }, + ], + external: external, + }, + /** + * Create a .d.ts file for each .ts file. + */ + { + input: Object.fromEntries( + globSync('src/**/*.ts', { ignore: 'src/test/**' }).map(file => [ + path.relative( + 'src', + file.slice(0, file.length - path.extname(file).length) + ), + + fileURLToPath(new URL(file, import.meta.url)), + ]) + ), + output: { + format: 'es', + dir: 'lib', + }, + plugins: [dts({ include: /\.ts$/ })], + }, +]; diff --git a/src/index.ts b/src/index.ts index a0f2b4f7..ff879e4c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,2 +1,2 @@ -export * as packets from './packets/public'; -export * as utils from './utils/public'; +export * as packets from './packets.ts'; +export * as utils from './utils.ts'; diff --git a/src/packets.ts b/src/packets.ts new file mode 100644 index 00000000..7a79374b --- /dev/null +++ b/src/packets.ts @@ -0,0 +1,140 @@ +/** + * @module packets + */ + +// NOTE: We need to export Serializable, otherwise TypeDoc doesn't document +// inherited methods. +export { Serializable } from './packets/Serializable.ts'; +export type { SerializableDump } from './packets/Serializable.ts'; + +export { Packet } from './packets/Packet.ts'; +export type { PacketDump } from './packets/Packet.ts'; + +export { isRtp, RtpPacket } from './packets/RTP/RtpPacket.ts'; +export type { RtpPacketDump } from './packets/RTP/RtpPacket.ts'; + +export { + rtpExtensionUriToType, + timeMsToAbsSendTime, +} from './packets/RTP/rtpExtensions.ts'; +export type { + RtpExtensionType, + RtpExtensionMapping, + SsrcAudioLevelExtension, + VideoOrientationExtension, +} from './packets/RTP/rtpExtensions.ts'; + +export { isRtcp, RtcpPacket } from './packets/RTCP/RtcpPacket.ts'; +export type { + RtcpPacketType, + RtcpPacketDump, +} from './packets/RTCP/RtcpPacket.ts'; + +export { CompoundPacket } from './packets/RTCP/CompoundPacket.ts'; +export type { CompoundPacketDump } from './packets/RTCP/CompoundPacket.ts'; + +export { + ReceiverReportPacket, + ReceptionReport, +} from './packets/RTCP/ReceiverReportPacket.ts'; +export type { + ReceiverReportPacketDump, + ReceptionReportDump, +} from './packets/RTCP/ReceiverReportPacket.ts'; + +export { SenderReportPacket } from './packets/RTCP/SenderReportPacket.ts'; +export type { SenderReportPacketDump } from './packets/RTCP/SenderReportPacket.ts'; + +export { ByePacket } from './packets/RTCP/ByePacket.ts'; +export type { ByePacketDump } from './packets/RTCP/ByePacket.ts'; + +export { SdesPacket, SdesChunk } from './packets/RTCP/SdesPacket.ts'; +export type { + SdesPacketDump, + SdesChunkDump, + SdesItemType, +} from './packets/RTCP/SdesPacket.ts'; + +export { FeedbackPacket } from './packets/RTCP/FeedbackPacket.ts'; +export type { + RtpFeedbackMessageType, + PsFeedbackMessageType, + FeedbackPacketDump, +} from './packets/RTCP/FeedbackPacket.ts'; + +export { + NackPacket, + parseNackItem, + createNackItem, +} from './packets/RTCP/NackPacket.ts'; +export type { NackPacketDump } from './packets/RTCP/NackPacket.ts'; + +export { SrReqPacket } from './packets/RTCP/SrReqPacket.ts'; +export type { SrReqPacketDump } from './packets/RTCP/SrReqPacket.ts'; + +export { EcnPacket } from './packets/RTCP/EcnPacket.ts'; +export type { EcnPacketDump } from './packets/RTCP/EcnPacket.ts'; + +export { PliPacket } from './packets/RTCP/PliPacket.ts'; +export type { PliPacketDump } from './packets/RTCP/PliPacket.ts'; + +export { SliPacket } from './packets/RTCP/SliPacket.ts'; +export type { SliPacketDump } from './packets/RTCP/SliPacket.ts'; + +export { RpsiPacket } from './packets/RTCP/RpsiPacket.ts'; +export type { RpsiPacketDump } from './packets/RTCP/RpsiPacket.ts'; + +export { GenericFeedbackPacket } from './packets/RTCP/GenericFeedbackPacket.ts'; +export type { GenericFeedbackPacketDump } from './packets/RTCP/GenericFeedbackPacket.ts'; + +export { XrPacket } from './packets/RTCP/XrPacket.ts'; +export type { XrPacketDump } from './packets/RTCP/XrPacket.ts'; + +export { ExtendedReport } from './packets/RTCP/ExtendedReports/ExtendedReport.ts'; +export type { + ExtendedReportType, + ExtendedReportDump, +} from './packets/RTCP/ExtendedReports/ExtendedReport.ts'; + +export { LrleExtendedReport } from './packets/RTCP/ExtendedReports/LrleExtendedReport.ts'; +export type { LrleExtendedReportDump } from './packets/RTCP/ExtendedReports/LrleExtendedReport.ts'; + +export { DrleExtendedReport } from './packets/RTCP/ExtendedReports/DrleExtendedReport.ts'; +export type { DrleExtendedReportDump } from './packets/RTCP/ExtendedReports/DrleExtendedReport.ts'; + +export { PrtExtendedReport } from './packets/RTCP/ExtendedReports/PrtExtendedReport.ts'; +export type { PrtExtendedReportDump } from './packets/RTCP/ExtendedReports/PrtExtendedReport.ts'; + +export { RrtExtendedReport } from './packets/RTCP/ExtendedReports/RrtExtendedReport.ts'; +export type { RrtExtendedReportDump } from './packets/RTCP/ExtendedReports/RrtExtendedReport.ts'; + +export { DlrrExtendedReport } from './packets/RTCP/ExtendedReports/DlrrExtendedReport.ts'; +export type { + DlrrExtendedReportDump, + DlrrSubReport, +} from './packets/RTCP/ExtendedReports/DlrrExtendedReport.ts'; + +export { SsExtendedReport } from './packets/RTCP/ExtendedReports/SsExtendedReport.ts'; +export type { SsExtendedReportDump } from './packets/RTCP/ExtendedReports/SsExtendedReport.ts'; + +export { VmExtendedReport } from './packets/RTCP/ExtendedReports/VmExtendedReport.ts'; +export type { VmExtendedReportDump } from './packets/RTCP/ExtendedReports/VmExtendedReport.ts'; + +export { EcnExtendedReport } from './packets/RTCP/ExtendedReports/EcnExtendedReport.ts'; +export type { EcnExtendedReportDump } from './packets/RTCP/ExtendedReports/EcnExtendedReport.ts'; + +export { GenericExtendedReport } from './packets/RTCP/ExtendedReports/GenericExtendedReport.ts'; +export type { GenericExtendedReportDump } from './packets/RTCP/ExtendedReports/GenericExtendedReport.ts'; + +export { + parseExtendedReportChunk, + createExtendedReportRunLengthChunk, + createExtendedReportBitVectorChunk, +} from './packets/RTCP/ExtendedReports/chunks.ts'; +export type { ExtendedReportChunk } from './packets/RTCP/ExtendedReports/chunks.ts'; + +export { ExtendedJitterReportsPacket } from './packets/RTCP/ExtendedJitterReportsPacket.ts'; +export type { ExtendedJitterReportsPacketDump } from './packets/RTCP/ExtendedJitterReportsPacket.ts'; + +export { GenericPacket } from './packets/RTCP/GenericPacket.ts'; +export type { GenericPacketDump } from './packets/RTCP/GenericPacket.ts'; diff --git a/src/packets/Packet.ts b/src/packets/Packet.ts index 07ba3d09..e2093045 100644 --- a/src/packets/Packet.ts +++ b/src/packets/Packet.ts @@ -1,10 +1,10 @@ -import { Serializable, SerializableDump } from './Serializable'; -import { padTo4Bytes } from '../utils/helpers'; +import { Serializable, SerializableDump } from './Serializable.ts'; +import { padTo4Bytes } from '../utils/helpers.ts'; import { readBitInDataView, writeBitInDataView, writeBitsInDataView, -} from '../utils/bitOps'; +} from '../utils/bitOps.ts'; export const RTP_VERSION = 2; diff --git a/src/packets/RTCP/ByePacket.ts b/src/packets/RTCP/ByePacket.ts index 9df53142..5aebfc56 100644 --- a/src/packets/RTCP/ByePacket.ts +++ b/src/packets/RTCP/ByePacket.ts @@ -3,12 +3,12 @@ import { RtcpPacketType, RtcpPacketDump, COMMON_HEADER_LENGTH, -} from './RtcpPacket'; +} from './RtcpPacket.ts'; import { dataViewToString, stringToUint8Array, getStringByteLength, -} from '../../utils/helpers'; +} from '../../utils/helpers.ts'; /** * RTCP BYE packet info dump. diff --git a/src/packets/RTCP/CompoundPacket.ts b/src/packets/RTCP/CompoundPacket.ts index 83163bf3..b74fdfd3 100644 --- a/src/packets/RTCP/CompoundPacket.ts +++ b/src/packets/RTCP/CompoundPacket.ts @@ -1,4 +1,4 @@ -import { Packet, PacketDump } from '../Packet'; +import { Packet, PacketDump } from '../Packet.ts'; import { isRtcp, RtcpPacketType, @@ -6,26 +6,26 @@ import { RtcpPacketDump, getRtcpPacketType, getRtcpLength, -} from './RtcpPacket'; -import { ReceiverReportPacket } from './ReceiverReportPacket'; -import { SenderReportPacket } from './SenderReportPacket'; -import { ByePacket } from './ByePacket'; -import { SdesPacket } from './SdesPacket'; +} from './RtcpPacket.ts'; +import { ReceiverReportPacket } from './ReceiverReportPacket.ts'; +import { SenderReportPacket } from './SenderReportPacket.ts'; +import { ByePacket } from './ByePacket.ts'; +import { SdesPacket } from './SdesPacket.ts'; import { RtpFeedbackMessageType, PsFeedbackMessageType, getRtcpFeedbackMessageType, -} from './FeedbackPacket'; -import { NackPacket } from './NackPacket'; -import { SrReqPacket } from './SrReqPacket'; -import { EcnPacket } from './EcnPacket'; -import { PliPacket } from './PliPacket'; -import { SliPacket } from './SliPacket'; -import { RpsiPacket } from './RpsiPacket'; -import { GenericFeedbackPacket } from './GenericFeedbackPacket'; -import { XrPacket } from './XrPacket'; -import { ExtendedJitterReportsPacket } from './ExtendedJitterReportsPacket'; -import { GenericPacket } from './GenericPacket'; +} from './FeedbackPacket.ts'; +import { NackPacket } from './NackPacket.ts'; +import { SrReqPacket } from './SrReqPacket.ts'; +import { EcnPacket } from './EcnPacket.ts'; +import { PliPacket } from './PliPacket.ts'; +import { SliPacket } from './SliPacket.ts'; +import { RpsiPacket } from './RpsiPacket.ts'; +import { GenericFeedbackPacket } from './GenericFeedbackPacket.ts'; +import { XrPacket } from './XrPacket.ts'; +import { ExtendedJitterReportsPacket } from './ExtendedJitterReportsPacket.ts'; +import { GenericPacket } from './GenericPacket.ts'; /** * RTCP Compound packet info dump. diff --git a/src/packets/RTCP/EcnPacket.ts b/src/packets/RTCP/EcnPacket.ts index 637037cc..da38231e 100644 --- a/src/packets/RTCP/EcnPacket.ts +++ b/src/packets/RTCP/EcnPacket.ts @@ -1,10 +1,10 @@ -import { RtcpPacketType } from './RtcpPacket'; +import { RtcpPacketType } from './RtcpPacket.ts'; import { FeedbackPacket, RtpFeedbackMessageType, FeedbackPacketDump, FIXED_HEADER_LENGTH, -} from './FeedbackPacket'; +} from './FeedbackPacket.ts'; const ECN_PACKET_LENGTH = FIXED_HEADER_LENGTH + 20; diff --git a/src/packets/RTCP/ExtendedJitterReportsPacket.ts b/src/packets/RTCP/ExtendedJitterReportsPacket.ts index afaec21e..6d2ad39e 100644 --- a/src/packets/RTCP/ExtendedJitterReportsPacket.ts +++ b/src/packets/RTCP/ExtendedJitterReportsPacket.ts @@ -3,7 +3,7 @@ import { RtcpPacketType, RtcpPacketDump, COMMON_HEADER_LENGTH, -} from './RtcpPacket'; +} from './RtcpPacket.ts'; /** * RTCP Extended Jitter Reports packet info dump. diff --git a/src/packets/RTCP/ExtendedReports/DlrrExtendedReport.ts b/src/packets/RTCP/ExtendedReports/DlrrExtendedReport.ts index 2619f616..da176849 100644 --- a/src/packets/RTCP/ExtendedReports/DlrrExtendedReport.ts +++ b/src/packets/RTCP/ExtendedReports/DlrrExtendedReport.ts @@ -3,7 +3,7 @@ import { ExtendedReportType, ExtendedReportDump, COMMON_HEADER_LENGTH, -} from './ExtendedReport'; +} from './ExtendedReport.ts'; /** * DLRR Extended Report dump. diff --git a/src/packets/RTCP/ExtendedReports/DrleExtendedReport.ts b/src/packets/RTCP/ExtendedReports/DrleExtendedReport.ts index a57684cf..788df6c7 100644 --- a/src/packets/RTCP/ExtendedReports/DrleExtendedReport.ts +++ b/src/packets/RTCP/ExtendedReports/DrleExtendedReport.ts @@ -3,9 +3,12 @@ import { ExtendedReportType, ExtendedReportDump, COMMON_HEADER_LENGTH, -} from './ExtendedReport'; -import { padTo4Bytes } from '../../../utils/helpers'; -import { readBitsInDataView, writeBitsInDataView } from '../../../utils/bitOps'; +} from './ExtendedReport.ts'; +import { padTo4Bytes } from '../../../utils/helpers.ts'; +import { + readBitsInDataView, + writeBitsInDataView, +} from '../../../utils/bitOps.ts'; // Common header + SSRC of source + begin seq + end seq. const DRLE_EXTENDED_REPORT_MIN_LENGTH = COMMON_HEADER_LENGTH + 8; diff --git a/src/packets/RTCP/ExtendedReports/EcnExtendedReport.ts b/src/packets/RTCP/ExtendedReports/EcnExtendedReport.ts index 89508ec1..cd77fc5b 100644 --- a/src/packets/RTCP/ExtendedReports/EcnExtendedReport.ts +++ b/src/packets/RTCP/ExtendedReports/EcnExtendedReport.ts @@ -3,7 +3,7 @@ import { ExtendedReportType, ExtendedReportDump, COMMON_HEADER_LENGTH, -} from './ExtendedReport'; +} from './ExtendedReport.ts'; const ECN_EXTENDED_REPORT_LENGTH = COMMON_HEADER_LENGTH + 20; diff --git a/src/packets/RTCP/ExtendedReports/ExtendedReport.ts b/src/packets/RTCP/ExtendedReports/ExtendedReport.ts index 6d6177a9..e35e269b 100644 --- a/src/packets/RTCP/ExtendedReports/ExtendedReport.ts +++ b/src/packets/RTCP/ExtendedReports/ExtendedReport.ts @@ -1,5 +1,5 @@ -import { Serializable, SerializableDump } from '../../Serializable'; -import { assertUnreachable } from '../../../utils/helpers'; +import { Serializable, SerializableDump } from '../../Serializable.ts'; +import { assertUnreachable } from '../../../utils/helpers.ts'; export const COMMON_HEADER_LENGTH = 4; diff --git a/src/packets/RTCP/ExtendedReports/GenericExtendedReport.ts b/src/packets/RTCP/ExtendedReports/GenericExtendedReport.ts index c8f11db8..90173cb0 100644 --- a/src/packets/RTCP/ExtendedReports/GenericExtendedReport.ts +++ b/src/packets/RTCP/ExtendedReports/GenericExtendedReport.ts @@ -4,7 +4,7 @@ import { ExtendedReportDump, getExtendedReportType, COMMON_HEADER_LENGTH, -} from './ExtendedReport'; +} from './ExtendedReport.ts'; /** * Generic Extended Report dump. diff --git a/src/packets/RTCP/ExtendedReports/LrleExtendedReport.ts b/src/packets/RTCP/ExtendedReports/LrleExtendedReport.ts index e7d08112..681ef349 100644 --- a/src/packets/RTCP/ExtendedReports/LrleExtendedReport.ts +++ b/src/packets/RTCP/ExtendedReports/LrleExtendedReport.ts @@ -3,9 +3,12 @@ import { ExtendedReportType, ExtendedReportDump, COMMON_HEADER_LENGTH, -} from './ExtendedReport'; -import { padTo4Bytes } from '../../../utils/helpers'; -import { readBitsInDataView, writeBitsInDataView } from '../../../utils/bitOps'; +} from './ExtendedReport.ts'; +import { padTo4Bytes } from '../../../utils/helpers.ts'; +import { + readBitsInDataView, + writeBitsInDataView, +} from '../../../utils/bitOps.ts'; // Common header + SSRC of source + begin seq + end seq. const LRLE_EXTENDED_REPORT_MIN_LENGTH = COMMON_HEADER_LENGTH + 8; diff --git a/src/packets/RTCP/ExtendedReports/PrtExtendedReport.ts b/src/packets/RTCP/ExtendedReports/PrtExtendedReport.ts index d4099494..2a51da9e 100644 --- a/src/packets/RTCP/ExtendedReports/PrtExtendedReport.ts +++ b/src/packets/RTCP/ExtendedReports/PrtExtendedReport.ts @@ -3,8 +3,11 @@ import { ExtendedReportType, ExtendedReportDump, COMMON_HEADER_LENGTH, -} from './ExtendedReport'; -import { readBitsInDataView, writeBitsInDataView } from '../../../utils/bitOps'; +} from './ExtendedReport.ts'; +import { + readBitsInDataView, + writeBitsInDataView, +} from '../../../utils/bitOps.ts'; // Common header + SSRC of source + begin seq + end seq. const PRT_EXTENDED_REPORT_MIN_LENGTH = COMMON_HEADER_LENGTH + 8; diff --git a/src/packets/RTCP/ExtendedReports/RrtExtendedReport.ts b/src/packets/RTCP/ExtendedReports/RrtExtendedReport.ts index 2e8818f7..3c4fee3d 100644 --- a/src/packets/RTCP/ExtendedReports/RrtExtendedReport.ts +++ b/src/packets/RTCP/ExtendedReports/RrtExtendedReport.ts @@ -3,7 +3,7 @@ import { ExtendedReportType, ExtendedReportDump, COMMON_HEADER_LENGTH, -} from './ExtendedReport'; +} from './ExtendedReport.ts'; // Common header + NTP timestamp. const RRT_EXTENDED_REPORT_LENGTH = COMMON_HEADER_LENGTH + 8; diff --git a/src/packets/RTCP/ExtendedReports/SsExtendedReport.ts b/src/packets/RTCP/ExtendedReports/SsExtendedReport.ts index 313681b2..ae5eb83b 100644 --- a/src/packets/RTCP/ExtendedReports/SsExtendedReport.ts +++ b/src/packets/RTCP/ExtendedReports/SsExtendedReport.ts @@ -3,13 +3,13 @@ import { ExtendedReportType, ExtendedReportDump, COMMON_HEADER_LENGTH, -} from './ExtendedReport'; +} from './ExtendedReport.ts'; import { readBitInDataView, writeBitInDataView, readBitsInDataView, writeBitsInDataView, -} from '../../../utils/bitOps'; +} from '../../../utils/bitOps.ts'; const SS_EXTENDED_REPORT_LENGTH = COMMON_HEADER_LENGTH + 36; diff --git a/src/packets/RTCP/ExtendedReports/VmExtendedReport.ts b/src/packets/RTCP/ExtendedReports/VmExtendedReport.ts index 9f0bca17..af994e68 100644 --- a/src/packets/RTCP/ExtendedReports/VmExtendedReport.ts +++ b/src/packets/RTCP/ExtendedReports/VmExtendedReport.ts @@ -3,8 +3,11 @@ import { ExtendedReportType, ExtendedReportDump, COMMON_HEADER_LENGTH, -} from './ExtendedReport'; -import { readBitsInDataView, writeBitsInDataView } from '../../../utils/bitOps'; +} from './ExtendedReport.ts'; +import { + readBitsInDataView, + writeBitsInDataView, +} from '../../../utils/bitOps.ts'; const VM_EXTENDED_REPORT_LENGTH = COMMON_HEADER_LENGTH + 32; diff --git a/src/packets/RTCP/ExtendedReports/chunks.ts b/src/packets/RTCP/ExtendedReports/chunks.ts index 1bc79c31..c9cde69c 100644 --- a/src/packets/RTCP/ExtendedReports/chunks.ts +++ b/src/packets/RTCP/ExtendedReports/chunks.ts @@ -1,4 +1,4 @@ -import { readBit, writeBit } from '../../../utils/bitOps'; +import { readBit, writeBit } from '../../../utils/bitOps.ts'; /** * Loss RLE and Duplicate RLE Extended Report chunk info. diff --git a/src/packets/RTCP/FeedbackPacket.ts b/src/packets/RTCP/FeedbackPacket.ts index c7628fbe..378d943e 100644 --- a/src/packets/RTCP/FeedbackPacket.ts +++ b/src/packets/RTCP/FeedbackPacket.ts @@ -4,9 +4,9 @@ import { RtcpPacketDump, packetTypeToString, COMMON_HEADER_LENGTH, -} from './RtcpPacket'; -import { assertUnreachable } from '../../utils/helpers'; -import { readBitsInDataView, writeBitsInDataView } from '../../utils/bitOps'; +} from './RtcpPacket.ts'; +import { assertUnreachable } from '../../utils/helpers.ts'; +import { readBitsInDataView, writeBitsInDataView } from '../../utils/bitOps.ts'; // Common RTCP header length + 4 (SSRC of packet sender) + 4 (SSRC of media // source). @@ -79,39 +79,64 @@ export function getRtcpFeedbackMessageType( } function messageTypeToString( + packetType: RtcpPacketType.RTPFB | RtcpPacketType.PSFB, messageType: RtpFeedbackMessageType | PsFeedbackMessageType ): string { - switch (messageType) { - case RtpFeedbackMessageType.NACK: { - return 'Generic NACK'; - } + switch (packetType) { + case RtcpPacketType.RTPFB: { + messageType = messageType as RtpFeedbackMessageType; - case RtpFeedbackMessageType.SR_REQ: { - return 'Rapid Resynchronisation Request'; - } + switch (messageType) { + case RtpFeedbackMessageType.NACK: { + return 'Generic NACK'; + } - case RtpFeedbackMessageType.ECN: { - return 'Explicit Congestion Notification (ECN)'; - } + case RtpFeedbackMessageType.SR_REQ: { + return 'Rapid Resynchronisation Request'; + } - case PsFeedbackMessageType.PLI: { - return 'Picture Loss Indication'; - } + case RtpFeedbackMessageType.ECN: { + return 'Explicit Congestion Notification (ECN)'; + } - case PsFeedbackMessageType.SLI: { - return 'Slice Loss Indication'; - } + default: { + assertUnreachable(messageType); + } + } - case PsFeedbackMessageType.RPSI: { - return 'Reference Picture Selection Indication'; + break; } - case PsFeedbackMessageType.AFB: { - return 'Application layer FB message'; + case RtcpPacketType.PSFB: { + messageType = messageType as PsFeedbackMessageType; + + switch (messageType) { + case PsFeedbackMessageType.PLI: { + return 'Picture Loss Indication'; + } + + case PsFeedbackMessageType.SLI: { + return 'Slice Loss Indication'; + } + + case PsFeedbackMessageType.RPSI: { + return 'Reference Picture Selection Indication'; + } + + case PsFeedbackMessageType.AFB: { + return 'Application layer FB message'; + } + + default: { + assertUnreachable(messageType); + } + } + + break; } default: { - assertUnreachable(messageType); + assertUnreachable(packetType); } } } @@ -156,7 +181,7 @@ export abstract class FeedbackPacket extends RtcpPacket { throw new TypeError( `given buffer view is not a RTCP ${packetTypeToString( this.getPacketType() - )} packet with ${messageTypeToString(this.#messageType)} message type` + )} packet with ${messageTypeToString(packetType, this.#messageType)} message type` ); } } diff --git a/src/packets/RTCP/GenericFeedbackPacket.ts b/src/packets/RTCP/GenericFeedbackPacket.ts index e633b0eb..2e4998e4 100644 --- a/src/packets/RTCP/GenericFeedbackPacket.ts +++ b/src/packets/RTCP/GenericFeedbackPacket.ts @@ -1,4 +1,4 @@ -import { RtcpPacketType, getRtcpPacketType } from './RtcpPacket'; +import { RtcpPacketType, getRtcpPacketType } from './RtcpPacket.ts'; import { FeedbackPacket, RtpFeedbackMessageType, @@ -6,7 +6,7 @@ import { FeedbackPacketDump, getRtcpFeedbackMessageType, FIXED_HEADER_LENGTH, -} from './FeedbackPacket'; +} from './FeedbackPacket.ts'; /** * RTCP generic Feedback packet info. diff --git a/src/packets/RTCP/GenericPacket.ts b/src/packets/RTCP/GenericPacket.ts index cd8181c6..0957910e 100644 --- a/src/packets/RTCP/GenericPacket.ts +++ b/src/packets/RTCP/GenericPacket.ts @@ -4,7 +4,7 @@ import { RtcpPacketDump, getRtcpPacketType, COMMON_HEADER_LENGTH, -} from './RtcpPacket'; +} from './RtcpPacket.ts'; /** * RTCP generic packet info dump. diff --git a/src/packets/RTCP/NackPacket.ts b/src/packets/RTCP/NackPacket.ts index 3e0a75d6..f2a5de38 100644 --- a/src/packets/RTCP/NackPacket.ts +++ b/src/packets/RTCP/NackPacket.ts @@ -1,11 +1,11 @@ -import { RtcpPacketType } from './RtcpPacket'; +import { RtcpPacketType } from './RtcpPacket.ts'; import { FeedbackPacket, RtpFeedbackMessageType, FeedbackPacketDump, FIXED_HEADER_LENGTH, -} from './FeedbackPacket'; -import { readBit, writeBit } from '../../utils/bitOps'; +} from './FeedbackPacket.ts'; +import { readBit, writeBit } from '../../utils/bitOps.ts'; /** * RTCP NACK packet info dump. diff --git a/src/packets/RTCP/PliPacket.ts b/src/packets/RTCP/PliPacket.ts index 98a1a998..a52abece 100644 --- a/src/packets/RTCP/PliPacket.ts +++ b/src/packets/RTCP/PliPacket.ts @@ -1,10 +1,10 @@ -import { RtcpPacketType } from './RtcpPacket'; +import { RtcpPacketType } from './RtcpPacket.ts'; import { FeedbackPacket, PsFeedbackMessageType, FeedbackPacketDump, FIXED_HEADER_LENGTH, -} from './FeedbackPacket'; +} from './FeedbackPacket.ts'; /** * RTCP PLI packet info dump. diff --git a/src/packets/RTCP/ReceiverReportPacket.ts b/src/packets/RTCP/ReceiverReportPacket.ts index dfc2b7cd..67dd2fc2 100644 --- a/src/packets/RTCP/ReceiverReportPacket.ts +++ b/src/packets/RTCP/ReceiverReportPacket.ts @@ -3,8 +3,8 @@ import { RtcpPacketType, RtcpPacketDump, COMMON_HEADER_LENGTH, -} from './RtcpPacket'; -import { Serializable, SerializableDump } from '../Serializable'; +} from './RtcpPacket.ts'; +import { Serializable, SerializableDump } from '../Serializable.ts'; // Common RTCP header length + 4 (SSRC of packet sender). const FIXED_HEADER_LENGTH = COMMON_HEADER_LENGTH + 4; diff --git a/src/packets/RTCP/RpsiPacket.ts b/src/packets/RTCP/RpsiPacket.ts index 0f0161df..2f9551ef 100644 --- a/src/packets/RTCP/RpsiPacket.ts +++ b/src/packets/RTCP/RpsiPacket.ts @@ -1,12 +1,12 @@ -import { RtcpPacketType } from './RtcpPacket'; +import { RtcpPacketType } from './RtcpPacket.ts'; import { FeedbackPacket, PsFeedbackMessageType, FeedbackPacketDump, FIXED_HEADER_LENGTH, -} from './FeedbackPacket'; -import { padTo4Bytes } from '../../utils/helpers'; -import { readBitsInDataView, writeBitsInDataView } from '../../utils/bitOps'; +} from './FeedbackPacket.ts'; +import { padTo4Bytes } from '../../utils/helpers.ts'; +import { readBitsInDataView, writeBitsInDataView } from '../../utils/bitOps.ts'; const MAX_BIT_STRING_LENGTH = 6; diff --git a/src/packets/RTCP/RtcpPacket.ts b/src/packets/RTCP/RtcpPacket.ts index 565cacdf..5a85995b 100644 --- a/src/packets/RTCP/RtcpPacket.ts +++ b/src/packets/RTCP/RtcpPacket.ts @@ -1,6 +1,6 @@ -import { RTP_VERSION, Packet, PacketDump } from '../Packet'; -import { assertUnreachable } from '../../utils/helpers'; -import { readBitsInDataView, writeBitsInDataView } from '../../utils/bitOps'; +import { RTP_VERSION, Packet, PacketDump } from '../Packet.ts'; +import { assertUnreachable } from '../../utils/helpers.ts'; +import { readBitsInDataView, writeBitsInDataView } from '../../utils/bitOps.ts'; /** * 0 1 2 3 diff --git a/src/packets/RTCP/SdesPacket.ts b/src/packets/RTCP/SdesPacket.ts index 4bb1c61e..0fff975e 100644 --- a/src/packets/RTCP/SdesPacket.ts +++ b/src/packets/RTCP/SdesPacket.ts @@ -3,14 +3,14 @@ import { RtcpPacketType, RtcpPacketDump, COMMON_HEADER_LENGTH, -} from './RtcpPacket'; -import { Serializable, SerializableDump } from '../Serializable'; +} from './RtcpPacket.ts'; +import { Serializable, SerializableDump } from '../Serializable.ts'; import { padTo4Bytes, dataViewToString, stringToUint8Array, getStringByteLength, -} from '../../utils/helpers'; +} from '../../utils/helpers.ts'; // SSRC (4 bytes) + null type (1 byte) + padding (3 bytes). const SDES_CHUNK_MIN_LENGTH = 8; diff --git a/src/packets/RTCP/SenderReportPacket.ts b/src/packets/RTCP/SenderReportPacket.ts index 8d30033b..db4e74f8 100644 --- a/src/packets/RTCP/SenderReportPacket.ts +++ b/src/packets/RTCP/SenderReportPacket.ts @@ -3,12 +3,12 @@ import { RtcpPacketType, RtcpPacketDump, COMMON_HEADER_LENGTH, -} from './RtcpPacket'; +} from './RtcpPacket.ts'; import { ReceptionReport, ReceptionReportDump, RECEPTION_REPORT_LENGTH, -} from './ReceiverReportPacket'; +} from './ReceiverReportPacket.ts'; // Common RTCP header length + 24. const FIXED_HEADER_LENGTH = COMMON_HEADER_LENGTH + 24; diff --git a/src/packets/RTCP/SliPacket.ts b/src/packets/RTCP/SliPacket.ts index 55c904b4..393750ae 100644 --- a/src/packets/RTCP/SliPacket.ts +++ b/src/packets/RTCP/SliPacket.ts @@ -1,10 +1,10 @@ -import { RtcpPacketType } from './RtcpPacket'; +import { RtcpPacketType } from './RtcpPacket.ts'; import { FeedbackPacket, PsFeedbackMessageType, FeedbackPacketDump, FIXED_HEADER_LENGTH, -} from './FeedbackPacket'; +} from './FeedbackPacket.ts'; /** * RTCP SLI packet info dump. diff --git a/src/packets/RTCP/SrReqPacket.ts b/src/packets/RTCP/SrReqPacket.ts index f4e9a100..d17b10ba 100644 --- a/src/packets/RTCP/SrReqPacket.ts +++ b/src/packets/RTCP/SrReqPacket.ts @@ -1,10 +1,10 @@ -import { RtcpPacketType } from './RtcpPacket'; +import { RtcpPacketType } from './RtcpPacket.ts'; import { FeedbackPacket, RtpFeedbackMessageType, FeedbackPacketDump, FIXED_HEADER_LENGTH, -} from './FeedbackPacket'; +} from './FeedbackPacket.ts'; /** * RTCP SR REQ packet info dump. diff --git a/src/packets/RTCP/XrPacket.ts b/src/packets/RTCP/XrPacket.ts index 484a1dc7..dd8dfc0f 100644 --- a/src/packets/RTCP/XrPacket.ts +++ b/src/packets/RTCP/XrPacket.ts @@ -4,22 +4,22 @@ import { ExtendedReportDump, getExtendedReportType, getExtendedReportLength, -} from './ExtendedReports/ExtendedReport'; -import { LrleExtendedReport } from './ExtendedReports/LrleExtendedReport'; -import { DrleExtendedReport } from './ExtendedReports/DrleExtendedReport'; -import { PrtExtendedReport } from './ExtendedReports/PrtExtendedReport'; -import { RrtExtendedReport } from './ExtendedReports/RrtExtendedReport'; -import { DlrrExtendedReport } from './ExtendedReports/DlrrExtendedReport'; -import { SsExtendedReport } from './ExtendedReports/SsExtendedReport'; -import { VmExtendedReport } from './ExtendedReports/VmExtendedReport'; -import { EcnExtendedReport } from './ExtendedReports/EcnExtendedReport'; -import { GenericExtendedReport } from './ExtendedReports/GenericExtendedReport'; +} from './ExtendedReports/ExtendedReport.ts'; +import { LrleExtendedReport } from './ExtendedReports/LrleExtendedReport.ts'; +import { DrleExtendedReport } from './ExtendedReports/DrleExtendedReport.ts'; +import { PrtExtendedReport } from './ExtendedReports/PrtExtendedReport.ts'; +import { RrtExtendedReport } from './ExtendedReports/RrtExtendedReport.ts'; +import { DlrrExtendedReport } from './ExtendedReports/DlrrExtendedReport.ts'; +import { SsExtendedReport } from './ExtendedReports/SsExtendedReport.ts'; +import { VmExtendedReport } from './ExtendedReports/VmExtendedReport.ts'; +import { EcnExtendedReport } from './ExtendedReports/EcnExtendedReport.ts'; +import { GenericExtendedReport } from './ExtendedReports/GenericExtendedReport.ts'; import { RtcpPacket, RtcpPacketType, RtcpPacketDump, COMMON_HEADER_LENGTH, -} from './RtcpPacket'; +} from './RtcpPacket.ts'; // Common RTCP header length + 4 (SSRC of packet sender). const FIXED_HEADER_LENGTH = COMMON_HEADER_LENGTH + 4; diff --git a/src/packets/RTP/RtpPacket.ts b/src/packets/RTP/RtpPacket.ts index 91342d13..9061310b 100644 --- a/src/packets/RTP/RtpPacket.ts +++ b/src/packets/RTP/RtpPacket.ts @@ -1,27 +1,27 @@ -import { RTP_VERSION, Packet, PacketDump } from '../Packet'; +import { RTP_VERSION, Packet, PacketDump } from '../Packet.ts'; import { RtpExtensionType, RtpExtensionMapping, SsrcAudioLevelExtension, VideoOrientationExtension, -} from './rtpExtensions'; +} from './rtpExtensions.ts'; import { clone, padTo4Bytes, numberToDataView, dataViewToString, stringToDataView, -} from '../../utils/helpers'; +} from '../../utils/helpers.ts'; import { readBitInDataView, writeBitInDataView, readBitsInDataView, writeBitsInDataView, -} from '../../utils/bitOps'; +} from '../../utils/bitOps.ts'; import { read3BytesInDataView, write3BytesInDataView, -} from '../../utils/byteOps'; +} from '../../utils/byteOps.ts'; const FIXED_HEADER_LENGTH = 12; diff --git a/src/packets/Serializable.ts b/src/packets/Serializable.ts index bb29356f..567dad0e 100644 --- a/src/packets/Serializable.ts +++ b/src/packets/Serializable.ts @@ -1,4 +1,4 @@ -import { clone } from '../utils/helpers'; +import { clone } from '../utils/helpers.ts'; /** * Serializable info dump. diff --git a/src/packets/public.ts b/src/packets/public.ts deleted file mode 100644 index 3c918237..00000000 --- a/src/packets/public.ts +++ /dev/null @@ -1,148 +0,0 @@ -/** - * @module packets - */ - -// NOTE: We need to export Serializable, otherwise TypeDoc doesn't document -// inherited methods. -export { Serializable, SerializableDump } from './Serializable'; - -export { Packet, PacketDump } from './Packet'; - -export { isRtp, RtpPacket, RtpPacketDump } from './RTP/RtpPacket'; - -export { - RtpExtensionType, - RtpExtensionMapping, - rtpExtensionUriToType, - SsrcAudioLevelExtension, - VideoOrientationExtension, - timeMsToAbsSendTime, -} from './RTP/rtpExtensions'; - -export { - isRtcp, - RtcpPacket, - RtcpPacketType, - RtcpPacketDump, -} from './RTCP/RtcpPacket'; - -export { CompoundPacket, CompoundPacketDump } from './RTCP/CompoundPacket'; - -export { - ReceiverReportPacket, - ReceiverReportPacketDump, - ReceptionReport, - ReceptionReportDump, -} from './RTCP/ReceiverReportPacket'; - -export { - SenderReportPacket, - SenderReportPacketDump, -} from './RTCP/SenderReportPacket'; - -export { ByePacket, ByePacketDump } from './RTCP/ByePacket'; - -export { - SdesPacket, - SdesPacketDump, - SdesChunk, - SdesChunkDump, - SdesItemType, -} from './RTCP/SdesPacket'; - -export { - FeedbackPacket, - RtpFeedbackMessageType, - PsFeedbackMessageType, - FeedbackPacketDump, -} from './RTCP/FeedbackPacket'; - -export { - NackPacket, - NackPacketDump, - parseNackItem, - createNackItem, -} from './RTCP/NackPacket'; - -export { SrReqPacket, SrReqPacketDump } from './RTCP/SrReqPacket'; - -export { EcnPacket, EcnPacketDump } from './RTCP/EcnPacket'; - -export { PliPacket, PliPacketDump } from './RTCP/PliPacket'; - -export { SliPacket, SliPacketDump } from './RTCP/SliPacket'; - -export { RpsiPacket, RpsiPacketDump } from './RTCP/RpsiPacket'; - -export { - GenericFeedbackPacket, - GenericFeedbackPacketDump, -} from './RTCP/GenericFeedbackPacket'; - -export { XrPacket, XrPacketDump } from './RTCP/XrPacket'; - -export { - ExtendedReport, - ExtendedReportType, - ExtendedReportDump, -} from './RTCP/ExtendedReports/ExtendedReport'; - -export { - LrleExtendedReport, - LrleExtendedReportDump, -} from './RTCP/ExtendedReports/LrleExtendedReport'; - -export { - DrleExtendedReport, - DrleExtendedReportDump, -} from './RTCP/ExtendedReports/DrleExtendedReport'; - -export { - PrtExtendedReport, - PrtExtendedReportDump, -} from './RTCP/ExtendedReports/PrtExtendedReport'; - -export { - RrtExtendedReport, - RrtExtendedReportDump, -} from './RTCP/ExtendedReports/RrtExtendedReport'; - -export { - DlrrExtendedReport, - DlrrExtendedReportDump, - DlrrSubReport, -} from './RTCP/ExtendedReports/DlrrExtendedReport'; - -export { - SsExtendedReport, - SsExtendedReportDump, -} from './RTCP/ExtendedReports/SsExtendedReport'; - -export { - VmExtendedReport, - VmExtendedReportDump, -} from './RTCP/ExtendedReports/VmExtendedReport'; - -export { - EcnExtendedReport, - EcnExtendedReportDump, -} from './RTCP/ExtendedReports/EcnExtendedReport'; - -export { - GenericExtendedReport, - GenericExtendedReportDump, -} from './RTCP/ExtendedReports/GenericExtendedReport'; - -export { - ExtendedReportChunk, - parseExtendedReportChunk, - createExtendedReportRunLengthChunk, - createExtendedReportBitVectorChunk, -} from './RTCP/ExtendedReports/chunks'; - -export { - ExtendedJitterReportsPacket, - ExtendedJitterReportsPacketDump, -} from './RTCP/ExtendedJitterReportsPacket'; - -export { GenericPacket, GenericPacketDump } from './RTCP/GenericPacket'; diff --git a/src/test/packets/RTCP/ByePacket.test.ts b/src/test/packets/RTCP/ByePacket.test.ts index 0991ba99..d14ad6fb 100644 --- a/src/test/packets/RTCP/ByePacket.test.ts +++ b/src/test/packets/RTCP/ByePacket.test.ts @@ -1,6 +1,6 @@ -import { ByePacket, ByePacketDump } from '../../../packets/RTCP/ByePacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { areDataViewsEqual } from '../../../utils/helpers'; +import { ByePacket, ByePacketDump } from '../../../packets/RTCP/ByePacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { areDataViewsEqual } from '../../../utils/helpers.ts'; const byePacketDump: ByePacketDump = { byteLength: 44, diff --git a/src/test/packets/RTCP/CompoundPacket.test.ts b/src/test/packets/RTCP/CompoundPacket.test.ts index e486e803..20da1218 100644 --- a/src/test/packets/RTCP/CompoundPacket.test.ts +++ b/src/test/packets/RTCP/CompoundPacket.test.ts @@ -1,18 +1,18 @@ -import { CompoundPacket } from '../../../packets/RTCP/CompoundPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { RtpFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket'; -import { ReceiverReportPacket } from '../../../packets/RTCP/ReceiverReportPacket'; -import { SenderReportPacket } from '../../../packets/RTCP/SenderReportPacket'; -import { ByePacket } from '../../../packets/RTCP/ByePacket'; -import { SdesPacket } from '../../../packets/RTCP/SdesPacket'; -import { NackPacket } from '../../../packets/RTCP/NackPacket'; -import { PliPacket } from '../../../packets/RTCP/PliPacket'; -import { XrPacket } from '../../../packets/RTCP/XrPacket'; -import { GenericPacket } from '../../../packets/RTCP/GenericPacket'; +import { CompoundPacket } from '../../../packets/RTCP/CompoundPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { RtpFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket.ts'; +import { ReceiverReportPacket } from '../../../packets/RTCP/ReceiverReportPacket.ts'; +import { SenderReportPacket } from '../../../packets/RTCP/SenderReportPacket.ts'; +import { ByePacket } from '../../../packets/RTCP/ByePacket.ts'; +import { SdesPacket } from '../../../packets/RTCP/SdesPacket.ts'; +import { NackPacket } from '../../../packets/RTCP/NackPacket.ts'; +import { PliPacket } from '../../../packets/RTCP/PliPacket.ts'; +import { XrPacket } from '../../../packets/RTCP/XrPacket.ts'; +import { GenericPacket } from '../../../packets/RTCP/GenericPacket.ts'; import { areDataViewsEqual, numericArrayToDataView, -} from '../../../utils/helpers'; +} from '../../../utils/helpers.ts'; describe('parse RTCP Compound packet', () => { const array = new Uint8Array([ diff --git a/src/test/packets/RTCP/EcnPacket.test.ts b/src/test/packets/RTCP/EcnPacket.test.ts index d909769c..b2767d54 100644 --- a/src/test/packets/RTCP/EcnPacket.test.ts +++ b/src/test/packets/RTCP/EcnPacket.test.ts @@ -1,7 +1,7 @@ -import { EcnPacket, EcnPacketDump } from '../../../packets/RTCP/EcnPacket'; -import { RtpFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { areDataViewsEqual } from '../../../utils/helpers'; +import { EcnPacket, EcnPacketDump } from '../../../packets/RTCP/EcnPacket.ts'; +import { RtpFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { areDataViewsEqual } from '../../../utils/helpers.ts'; const ecnPacketDump: EcnPacketDump = { byteLength: 32, diff --git a/src/test/packets/RTCP/ExtendedJitterReportsPacket.test.ts b/src/test/packets/RTCP/ExtendedJitterReportsPacket.test.ts index 0dfaac7a..ae6435b1 100644 --- a/src/test/packets/RTCP/ExtendedJitterReportsPacket.test.ts +++ b/src/test/packets/RTCP/ExtendedJitterReportsPacket.test.ts @@ -1,9 +1,9 @@ import { ExtendedJitterReportsPacket, ExtendedJitterReportsPacketDump, -} from '../../../packets/RTCP/ExtendedJitterReportsPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { areDataViewsEqual } from '../../../utils/helpers'; +} from '../../../packets/RTCP/ExtendedJitterReportsPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { areDataViewsEqual } from '../../../utils/helpers.ts'; const extendedJitterReportsPacketDump: ExtendedJitterReportsPacketDump = { byteLength: 12, diff --git a/src/test/packets/RTCP/GenericFeedbackPacket.test.ts b/src/test/packets/RTCP/GenericFeedbackPacket.test.ts index bc6bbf71..3330320d 100644 --- a/src/test/packets/RTCP/GenericFeedbackPacket.test.ts +++ b/src/test/packets/RTCP/GenericFeedbackPacket.test.ts @@ -1,13 +1,13 @@ import { GenericFeedbackPacket, GenericFeedbackPacketDump, -} from '../../../packets/RTCP/GenericFeedbackPacket'; -import { PsFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; +} from '../../../packets/RTCP/GenericFeedbackPacket.ts'; +import { PsFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; import { areDataViewsEqual, numericArrayToDataView, -} from '../../../utils/helpers'; +} from '../../../utils/helpers.ts'; const genericFeedbackPacket: GenericFeedbackPacketDump = { byteLength: 20, diff --git a/src/test/packets/RTCP/GenericPacket.test.ts b/src/test/packets/RTCP/GenericPacket.test.ts index 52ebed7a..4b0e9385 100644 --- a/src/test/packets/RTCP/GenericPacket.test.ts +++ b/src/test/packets/RTCP/GenericPacket.test.ts @@ -1,9 +1,9 @@ -import { GenericPacket } from '../../../packets/RTCP/GenericPacket'; -import { isRtcp } from '../../../packets/RTCP/RtcpPacket'; +import { GenericPacket } from '../../../packets/RTCP/GenericPacket.ts'; +import { isRtcp } from '../../../packets/RTCP/RtcpPacket.ts'; import { areDataViewsEqual, numericArrayToDataView, -} from '../../../utils/helpers'; +} from '../../../utils/helpers.ts'; describe('parse RTCP generic packet', () => { const array = new Uint8Array([ diff --git a/src/test/packets/RTCP/NackPacket.test.ts b/src/test/packets/RTCP/NackPacket.test.ts index 22e7ba91..7ee6d660 100644 --- a/src/test/packets/RTCP/NackPacket.test.ts +++ b/src/test/packets/RTCP/NackPacket.test.ts @@ -3,10 +3,10 @@ import { NackPacketDump, parseNackItem, createNackItem, -} from '../../../packets/RTCP/NackPacket'; -import { RtpFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { areDataViewsEqual } from '../../../utils/helpers'; +} from '../../../packets/RTCP/NackPacket.ts'; +import { RtpFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { areDataViewsEqual } from '../../../utils/helpers.ts'; const nackPacketDump: NackPacketDump = { byteLength: 20, diff --git a/src/test/packets/RTCP/PliPacket.test.ts b/src/test/packets/RTCP/PliPacket.test.ts index b06e7cbf..96b13004 100644 --- a/src/test/packets/RTCP/PliPacket.test.ts +++ b/src/test/packets/RTCP/PliPacket.test.ts @@ -1,7 +1,7 @@ -import { PliPacket, PliPacketDump } from '../../../packets/RTCP/PliPacket'; -import { PsFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { areDataViewsEqual } from '../../../utils/helpers'; +import { PliPacket, PliPacketDump } from '../../../packets/RTCP/PliPacket.ts'; +import { PsFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { areDataViewsEqual } from '../../../utils/helpers.ts'; const pliPacketDump: PliPacketDump = { byteLength: 12, diff --git a/src/test/packets/RTCP/ReceiverReportPacket.test.ts b/src/test/packets/RTCP/ReceiverReportPacket.test.ts index 9eee7d89..602be7ad 100644 --- a/src/test/packets/RTCP/ReceiverReportPacket.test.ts +++ b/src/test/packets/RTCP/ReceiverReportPacket.test.ts @@ -2,12 +2,12 @@ import { ReceiverReportPacket, ReceptionReport, ReceptionReportDump, -} from '../../../packets/RTCP/ReceiverReportPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; +} from '../../../packets/RTCP/ReceiverReportPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; import { areDataViewsEqual, numericArrayToDataView, -} from '../../../utils/helpers'; +} from '../../../utils/helpers.ts'; const receptionReportDump1: ReceptionReportDump = { byteLength: 24, diff --git a/src/test/packets/RTCP/RpsiPacket.test.ts b/src/test/packets/RTCP/RpsiPacket.test.ts index 71a4de3a..261441d3 100644 --- a/src/test/packets/RTCP/RpsiPacket.test.ts +++ b/src/test/packets/RTCP/RpsiPacket.test.ts @@ -1,10 +1,13 @@ -import { RpsiPacket, RpsiPacketDump } from '../../../packets/RTCP/RpsiPacket'; -import { PsFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; +import { + RpsiPacket, + RpsiPacketDump, +} from '../../../packets/RTCP/RpsiPacket.ts'; +import { PsFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; import { areDataViewsEqual, numericArrayToDataView, -} from '../../../utils/helpers'; +} from '../../../utils/helpers.ts'; const rpsiPacketDump: RpsiPacketDump = { byteLength: 24, diff --git a/src/test/packets/RTCP/SdesPacket.test.ts b/src/test/packets/RTCP/SdesPacket.test.ts index 162f1aee..dbb787f5 100644 --- a/src/test/packets/RTCP/SdesPacket.test.ts +++ b/src/test/packets/RTCP/SdesPacket.test.ts @@ -4,9 +4,9 @@ import { SdesChunk, SdesChunkDump, SdesItemType, -} from '../../../packets/RTCP/SdesPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { areDataViewsEqual } from '../../../utils/helpers'; +} from '../../../packets/RTCP/SdesPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { areDataViewsEqual } from '../../../utils/helpers.ts'; const sdesPacketDump: SdesPacketDump = { byteLength: 28, diff --git a/src/test/packets/RTCP/SenderReportPacket.test.ts b/src/test/packets/RTCP/SenderReportPacket.test.ts index c0f1e4a3..5d0e6991 100644 --- a/src/test/packets/RTCP/SenderReportPacket.test.ts +++ b/src/test/packets/RTCP/SenderReportPacket.test.ts @@ -1,10 +1,10 @@ -import { SenderReportPacket } from '../../../packets/RTCP/SenderReportPacket'; +import { SenderReportPacket } from '../../../packets/RTCP/SenderReportPacket.ts'; import { ReceptionReport, ReceptionReportDump, -} from '../../../packets/RTCP/ReceiverReportPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { areDataViewsEqual } from '../../../utils/helpers'; +} from '../../../packets/RTCP/ReceiverReportPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { areDataViewsEqual } from '../../../utils/helpers.ts'; const receptionReportDump1: ReceptionReportDump = { byteLength: 24, diff --git a/src/test/packets/RTCP/SliPacket.test.ts b/src/test/packets/RTCP/SliPacket.test.ts index a4f5e628..c7e439e2 100644 --- a/src/test/packets/RTCP/SliPacket.test.ts +++ b/src/test/packets/RTCP/SliPacket.test.ts @@ -1,7 +1,7 @@ -import { SliPacket, SliPacketDump } from '../../../packets/RTCP/SliPacket'; -import { PsFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { areDataViewsEqual } from '../../../utils/helpers'; +import { SliPacket, SliPacketDump } from '../../../packets/RTCP/SliPacket.ts'; +import { PsFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { areDataViewsEqual } from '../../../utils/helpers.ts'; const sliPacketDump: SliPacketDump = { byteLength: 20, diff --git a/src/test/packets/RTCP/SrReqPacket.test.ts b/src/test/packets/RTCP/SrReqPacket.test.ts index 09a5cfd9..3cd9a96b 100644 --- a/src/test/packets/RTCP/SrReqPacket.test.ts +++ b/src/test/packets/RTCP/SrReqPacket.test.ts @@ -1,10 +1,10 @@ import { SrReqPacket, SrReqPacketDump, -} from '../../../packets/RTCP/SrReqPacket'; -import { RtpFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { areDataViewsEqual } from '../../../utils/helpers'; +} from '../../../packets/RTCP/SrReqPacket.ts'; +import { RtpFeedbackMessageType } from '../../../packets/RTCP/FeedbackPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { areDataViewsEqual } from '../../../utils/helpers.ts'; const srReqPacketDump: SrReqPacketDump = { byteLength: 12, diff --git a/src/test/packets/RTCP/XrPacket.test.ts b/src/test/packets/RTCP/XrPacket.test.ts index 8f246ed0..05d4dc02 100644 --- a/src/test/packets/RTCP/XrPacket.test.ts +++ b/src/test/packets/RTCP/XrPacket.test.ts @@ -1,20 +1,20 @@ -import { XrPacket, XrPacketDump } from '../../../packets/RTCP/XrPacket'; -import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket'; -import { ExtendedReportType } from '../../../packets/RTCP/ExtendedReports/ExtendedReport'; +import { XrPacket, XrPacketDump } from '../../../packets/RTCP/XrPacket.ts'; +import { isRtcp, RtcpPacketType } from '../../../packets/RTCP/RtcpPacket.ts'; +import { ExtendedReportType } from '../../../packets/RTCP/ExtendedReports/ExtendedReport.ts'; import { LrleExtendedReport, LrleExtendedReportDump, -} from '../../../packets/RTCP/ExtendedReports/LrleExtendedReport'; +} from '../../../packets/RTCP/ExtendedReports/LrleExtendedReport.ts'; import { DlrrExtendedReport, DlrrExtendedReportDump, -} from '../../../packets/RTCP/ExtendedReports/DlrrExtendedReport'; +} from '../../../packets/RTCP/ExtendedReports/DlrrExtendedReport.ts'; import { parseExtendedReportChunk, createExtendedReportRunLengthChunk, createExtendedReportBitVectorChunk, -} from '../../../packets/RTCP/ExtendedReports/chunks'; -import { areDataViewsEqual } from '../../../utils/helpers'; +} from '../../../packets/RTCP/ExtendedReports/chunks.ts'; +import { areDataViewsEqual } from '../../../utils/helpers.ts'; const runLengthZerosChunk = 0b0010101010101010; const runLengthOnesChunk = 0b0110101010101010; diff --git a/src/test/packets/RTP/RtpPacket.test.ts b/src/test/packets/RTP/RtpPacket.test.ts index 1fa761ef..34f79c72 100644 --- a/src/test/packets/RTP/RtpPacket.test.ts +++ b/src/test/packets/RTP/RtpPacket.test.ts @@ -4,14 +4,14 @@ import { isRtp, RtpPacket, RtpPacketDump, -} from '../../../packets/RTP/RtpPacket'; +} from '../../../packets/RTP/RtpPacket.ts'; import { clone, areDataViewsEqual, nodeBufferToDataView, numericArrayToDataView, stringToDataView, -} from '../../../utils/helpers'; +} from '../../../utils/helpers.ts'; describe('parse RTP packet 1', () => { const view = nodeBufferToDataView( diff --git a/src/test/packets/RTP/rtpExtensions.test.ts b/src/test/packets/RTP/rtpExtensions.test.ts index 537797f8..2e54e351 100644 --- a/src/test/packets/RTP/rtpExtensions.test.ts +++ b/src/test/packets/RTP/rtpExtensions.test.ts @@ -1,9 +1,9 @@ -import { RtpPacket, RtpPacketDump } from '../../../packets/RTP/RtpPacket'; +import { RtpPacket, RtpPacketDump } from '../../../packets/RTP/RtpPacket.ts'; import { RtpExtensionType, RtpExtensionMapping, rtpExtensionUriToType, -} from '../../../packets/RTP/rtpExtensions'; +} from '../../../packets/RTP/rtpExtensions.ts'; const rtpPacketDump: Partial = { midExt: 'œæ€å∫∂', diff --git a/src/test/packets/Serializable.test.ts b/src/test/packets/Serializable.test.ts index a7e935de..dd562ef2 100644 --- a/src/test/packets/Serializable.test.ts +++ b/src/test/packets/Serializable.test.ts @@ -1,5 +1,5 @@ -import { Serializable } from '../../packets/Serializable'; -import { clone, areDataViewsEqual } from '../../utils/helpers'; +import { Serializable } from '../../packets/Serializable.ts'; +import { clone, areDataViewsEqual } from '../../utils/helpers.ts'; class Foo extends Serializable { constructor(view: DataView) { diff --git a/src/test/utils/bitOps.test.ts b/src/test/utils/bitOps.test.ts index 3e5231de..114733b2 100644 --- a/src/test/utils/bitOps.test.ts +++ b/src/test/utils/bitOps.test.ts @@ -3,7 +3,7 @@ import { writeBitInDataView, readBitsInDataView, writeBitsInDataView, -} from '../../utils/bitOps'; +} from '../../utils/bitOps.ts'; let view: DataView; diff --git a/src/test/utils/byteOps.test.ts b/src/test/utils/byteOps.test.ts index 7e3a0234..53bf1d8f 100644 --- a/src/test/utils/byteOps.test.ts +++ b/src/test/utils/byteOps.test.ts @@ -3,7 +3,7 @@ import { write3BytesInDataView, readSigned3BytesInDataView, writeSigned3BytesInDataView, -} from '../../utils/byteOps'; +} from '../../utils/byteOps.ts'; let view: DataView; diff --git a/src/test/utils/helpers.test.ts b/src/test/utils/helpers.test.ts index 0150b16f..c64728fc 100644 --- a/src/test/utils/helpers.test.ts +++ b/src/test/utils/helpers.test.ts @@ -4,7 +4,7 @@ import { dataViewToNodeBuffer, nodeBufferToArrayBuffer, arrayBufferToNodeBuffer, -} from '../../utils/helpers'; +} from '../../utils/helpers.ts'; test('nodeBufferToDataView() and dataViewToNodeBuffer()', () => { const array = new Uint8Array([ diff --git a/src/utils/public.ts b/src/utils.ts similarity index 90% rename from src/utils/public.ts rename to src/utils.ts index ad83827b..62bf6f35 100644 --- a/src/utils/public.ts +++ b/src/utils.ts @@ -14,4 +14,4 @@ export { arrayBufferToString, stringToDataView, getStringByteLength, -} from './helpers'; +} from './utils/helpers.ts'; diff --git a/src/utils/helpers.ts b/src/utils/helpers.ts index 49aac493..f323d8cb 100644 --- a/src/utils/helpers.ts +++ b/src/utils/helpers.ts @@ -1,4 +1,4 @@ -import { Logger } from '../Logger'; +import { Logger } from '../Logger.ts'; const logger = new Logger('utils/helpers'); @@ -168,6 +168,7 @@ export function numericArrayToDataView(array: number[]): DataView { * @category Utils */ export function numberToDataView(number: number): DataView { + logger.debug('FOOOOO numberToDataView()!!!'); const array: number[] = []; array.unshift(number & 255); diff --git a/tsconfig.json b/tsconfig.json index 1a7d323b..a3714a2d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,9 +2,11 @@ "compileOnSave": true, "compilerOptions": { "lib": ["es2022"], - "target": "es2022", - "module": "commonjs", - "moduleResolution": "node", + "target": "es2024", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "allowImportingTsExtensions": true, + "rewriteRelativeImportExtensions": true, "strict": true, "outDir": "lib", "declaration": true, diff --git a/typedoc.config.mjs b/typedoc.config.mjs index eacd7737..d4e714d4 100644 --- a/typedoc.config.mjs +++ b/typedoc.config.mjs @@ -1,6 +1,6 @@ /** @type {Partial} */ const config = { - entryPoints: ['src/packets/public.ts', 'src/utils/public.ts'], + entryPoints: ['src/packets.ts', 'src/utils.ts'], out: 'docs', skipErrorChecking: false, excludePrivate: true,