json-schema-library
Version:
Customizable and hackable json-validator and json-schema utilities for traversal, data generation and validation
3 lines • 144 kB
JavaScript
var jlib=(function(e){var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)),u=Function.prototype.toString,d=Object.create,f=Object.prototype.toString,p=function(){function e(){this._keys=[],this._values=[]}return e.prototype.has=function(e){return!!~this._keys.indexOf(e)},e.prototype.get=function(e){return this._values[this._keys.indexOf(e)]},e.prototype.set=function(e,t){this._keys.push(e),this._values.push(t)},e}();function m(){return new p}function h(){return new WeakMap}var g=typeof WeakMap<`u`?h:m;function _(e){if(!e)return d(null);var t=e.constructor;if(t===Object)return e===Object.prototype?{}:d(e);if(t&&~u.call(t).indexOf(`[native code]`))try{return new t}catch{}return d(e)}function v(e){var t=``;return e.global&&(t+=`g`),e.ignoreCase&&(t+=`i`),e.multiline&&(t+=`m`),e.unicode&&(t+=`u`),e.sticky&&(t+=`y`),t}function y(e){return e.flags}var ee=/test/g.flags===`g`?y:v;function b(e){var t=f.call(e);return t.substring(8,t.length-1)}function x(e){return e[Symbol.toStringTag]||b(e)}var te=typeof Symbol<`u`?x:b,ne=Object.defineProperty,S=Object.getOwnPropertyDescriptor,C=Object.getOwnPropertyNames,w=Object.getOwnPropertySymbols,T=Object.prototype,re=T.hasOwnProperty,E=T.propertyIsEnumerable,ie=typeof w==`function`;function D(e){return C(e).concat(w(e))}var O=ie?D:C;function k(e,t,n){for(var r=O(e),i=0,a=r.length,o=void 0,s=void 0;i<a;++i)if(o=r[i],!(o===`callee`||o===`caller`)){if(s=S(e,o),!s){t[o]=n.copier(e[o],n);continue}!s.get&&!s.set&&(s.value=n.copier(s.value,n));try{ne(t,o,s)}catch{t[o]=s.value}}return t}function ae(e,t){var n=new t.Constructor;t.cache.set(e,n);for(var r=0,i=e.length;r<i;++r)n[r]=t.copier(e[r],t);return n}function A(e,t){var n=new t.Constructor;return t.cache.set(e,n),k(e,n,t)}function j(e,t){return e.slice(0)}function M(e,t){return e.slice(0,e.size,e.type)}function N(e,t){return new t.Constructor(j(e.buffer))}function P(e,t){return new t.Constructor(e.getTime())}function F(e,t){var n=new t.Constructor;return t.cache.set(e,n),e.forEach(function(e,r){n.set(r,t.copier(e,t))}),n}function I(e,t){return k(e,F(e,t),t)}function L(e,t){var n=_(t.prototype);for(var r in t.cache.set(e,n),e)re.call(e,r)&&(n[r]=t.copier(e[r],t));return n}function oe(e,t){var n=_(t.prototype);for(var r in t.cache.set(e,n),e)re.call(e,r)&&(n[r]=t.copier(e[r],t));for(var i=w(e),a=0,o=i.length,s=void 0;a<o;++a)s=i[a],E.call(e,s)&&(n[s]=t.copier(e[s],t));return n}var se=ie?oe:L;function ce(e,t){var n=_(t.prototype);return t.cache.set(e,n),k(e,n,t)}function le(e,t){return new t.Constructor(e.valueOf())}function R(e,t){var n=new t.Constructor(e.source,ee(e));return n.lastIndex=e.lastIndex,n}function ue(e,t){return e}function de(e,t){var n=new t.Constructor;return t.cache.set(e,n),e.forEach(function(e){n.add(t.copier(e,t))}),n}function fe(e,t){return k(e,de(e,t),t)}var pe=Array.isArray,me=Object.assign,he=Object.getPrototypeOf||(function(e){return e.__proto__}),z={array:ae,arrayBuffer:j,blob:M,dataView:N,date:P,error:ue,map:F,object:se,regExp:R,set:de},ge=me({},z,{array:A,map:I,object:ce,set:fe});function _e(e){return{Arguments:e.object,Array:e.array,ArrayBuffer:e.arrayBuffer,Blob:e.blob,Boolean:le,DataView:e.dataView,Date:e.date,Error:e.error,Float32Array:e.arrayBuffer,Float64Array:e.arrayBuffer,Int8Array:e.arrayBuffer,Int16Array:e.arrayBuffer,Int32Array:e.arrayBuffer,Map:e.map,Number:le,Object:e.object,Promise:ue,RegExp:e.regExp,Set:e.set,String:le,WeakMap:ue,WeakSet:ue,Uint8Array:e.arrayBuffer,Uint8ClampedArray:e.arrayBuffer,Uint16Array:e.arrayBuffer,Uint32Array:e.arrayBuffer,Uint64Array:e.arrayBuffer}}function ve(e){var t=_e(me({},z,e)),n=t.Array,r=t.Object;function i(e,i){if(i.prototype=i.Constructor=void 0,!e||typeof e!=`object`)return e;if(i.cache.has(e))return i.cache.get(e);if(i.prototype=he(e),i.Constructor=i.prototype&&i.prototype.constructor,!i.Constructor||i.Constructor===Object)return r(e,i);if(pe(e))return n(e,i);var a=t[te(e)];return a?a(e,i):typeof e.then==`function`?e:r(e,i)}return function(e){return i(e,{Constructor:void 0,cache:g(),copier:i,prototype:void 0})}}function ye(e){return ve(me({},ge,e))}ye({});var be=ve({}),B=l(s(((e,t)=>{
/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */
(function(n,r){typeof e==`object`&&t!==void 0?r(e):typeof define==`function`&&define.amd?define([`exports`],r):r(n.URI=n.URI||{})})(e,(function(e){function t(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(t.length>1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,i=1;i<r;++i)t[i]=t[i].slice(1,-1);return t[r]=t[r].slice(1),t.join(``)}else return t[0]}function n(e){return`(?:`+e+`)`}function r(e){return e===void 0?`undefined`:e===null?`null`:Object.prototype.toString.call(e).split(` `).pop().split(`]`).shift().toLowerCase()}function i(e){return e.toUpperCase()}function a(e){return e==null?[]:e instanceof Array?e:typeof e.length!=`number`||e.split||e.setInterval||e.call?[e]:Array.prototype.slice.call(e)}function o(e,t){var n=e;if(t)for(var r in t)n[r]=t[r];return n}function s(e){var r=`[A-Za-z]`,i=`[0-9]`,a=t(i,`[A-Fa-f]`),o=n(n(`%[EFef]`+a+`%`+a+a+`%`+a+a)+`|`+n(`%[89A-Fa-f]`+a+`%`+a+a)+`|`+n(`%`+a+a)),s=`[\\:\\/\\?\\#\\[\\]\\@]`,c=`[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]`,l=t(s,c),u=e?`[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]`:`[]`,d=e?`[\\uE000-\\uF8FF]`:`[]`,f=t(r,i,`[\\-\\.\\_\\~]`,u),p=n(r+t(r,i,`[\\+\\-\\.]`)+`*`),m=n(n(o+`|`+t(f,c,`[\\:]`))+`*`);n(n(`25[0-5]`)+`|`+n(`2[0-4]`+i)+`|`+n(`1`+i+i)+`|`+n(`[1-9]`+i)+`|`+i);var h=n(n(`25[0-5]`)+`|`+n(`2[0-4]`+i)+`|`+n(`1`+i+i)+`|`+n(`0?[1-9]`+i)+`|0?0?`+i),g=n(h+`\\.`+h+`\\.`+h+`\\.`+h),_=n(a+`{1,4}`),v=n(n(_+`\\:`+_)+`|`+g),y=n([n(n(_+`\\:`)+`{6}`+v),n(`\\:\\:`+n(_+`\\:`)+`{5}`+v),n(n(_)+`?\\:\\:`+n(_+`\\:`)+`{4}`+v),n(n(n(_+`\\:`)+`{0,1}`+_)+`?\\:\\:`+n(_+`\\:`)+`{3}`+v),n(n(n(_+`\\:`)+`{0,2}`+_)+`?\\:\\:`+n(_+`\\:`)+`{2}`+v),n(n(n(_+`\\:`)+`{0,3}`+_)+`?\\:\\:`+_+`\\:`+v),n(n(n(_+`\\:`)+`{0,4}`+_)+`?\\:\\:`+v),n(n(n(_+`\\:`)+`{0,5}`+_)+`?\\:\\:`+_),n(n(n(_+`\\:`)+`{0,6}`+_)+`?\\:\\:`)].join(`|`)),ee=n(n(f+`|`+o)+`+`);n(y+`\\%25`+ee);var b=n(y+n(`\\%25|\\%(?!`+a+`{2})`)+ee),x=n(`[vV]`+a+`+\\.`+t(f,c,`[\\:]`)+`+`),te=n(`\\[`+n(b+`|`+y+`|`+x)+`\\]`),ne=n(n(o+`|`+t(f,c))+`*`),S=n(te+`|`+g+`(?!`+ne+`)|`+ne),C=n(i+`*`),w=n(n(m+`@`)+`?`+S+n(`\\:`+C)+`?`),T=n(o+`|`+t(f,c,`[\\:\\@]`)),re=n(T+`*`),E=n(T+`+`),ie=n(n(o+`|`+t(f,c,`[\\@]`))+`+`),D=n(n(`\\/`+re)+`*`),O=n(`\\/`+n(E+D)+`?`),k=n(ie+D),ae=n(E+D),A=`(?!`+T+`)`;n(D+`|`+O+`|`+k+`|`+ae+`|`+A);var j=n(n(T+`|`+t(`[\\/\\?]`,d))+`*`),M=n(n(T+`|[\\/\\?]`)+`*`),N=n(n(`\\/\\/`+w+D)+`|`+O+`|`+ae+`|`+A),P=n(p+`\\:`+N+n(`\\?`+j)+`?`+n(`\\#`+M)+`?`),F=n(n(n(`\\/\\/`+w+D)+`|`+O+`|`+k+`|`+A)+n(`\\?`+j)+`?`+n(`\\#`+M)+`?`);return n(P+`|`+F),n(p+`\\:`+N+n(`\\?`+j)+`?`),``+p+n(n(`\\/\\/(`+n(`(`+m+`)@`)+`?(`+S+`)`+n(`\\:(`+C+`)`)+`?)`)+`?(`+D+`|`+O+`|`+ae+`|`+A+`)`)+n(`\\?(`+j+`)`)+n(`\\#(`+M+`)`),``+n(n(`\\/\\/(`+n(`(`+m+`)@`)+`?(`+S+`)`+n(`\\:(`+C+`)`)+`?)`)+`?(`+D+`|`+O+`|`+k+`|`+A+`)`)+n(`\\?(`+j+`)`)+n(`\\#(`+M+`)`),``+p+n(n(`\\/\\/(`+n(`(`+m+`)@`)+`?(`+S+`)`+n(`\\:(`+C+`)`)+`?)`)+`?(`+D+`|`+O+`|`+ae+`|`+A+`)`)+n(`\\?(`+j+`)`),``+n(`\\#(`+M+`)`),``+n(`(`+m+`)@`)+S+n(`\\:(`+C+`)`),{NOT_SCHEME:new RegExp(t(`[^]`,r,i,`[\\+\\-\\.]`),`g`),NOT_USERINFO:new RegExp(t(`[^\\%\\:]`,f,c),`g`),NOT_HOST:new RegExp(t(`[^\\%\\[\\]\\:]`,f,c),`g`),NOT_PATH:new RegExp(t(`[^\\%\\/\\:\\@]`,f,c),`g`),NOT_PATH_NOSCHEME:new RegExp(t(`[^\\%\\/\\@]`,f,c),`g`),NOT_QUERY:new RegExp(t(`[^\\%]`,f,c,`[\\:\\@\\/\\?]`,d),`g`),NOT_FRAGMENT:new RegExp(t(`[^\\%]`,f,c,`[\\:\\@\\/\\?]`),`g`),ESCAPE:new RegExp(t(`[^]`,f,c),`g`),UNRESERVED:new RegExp(f,`g`),OTHER_CHARS:new RegExp(t(`[^\\%]`,f,l),`g`),PCT_ENCODED:new RegExp(o,`g`),IPV4ADDRESS:RegExp(`^(`+g+`)$`),IPV6ADDRESS:RegExp(`^\\[?(`+y+`)`+n(n(`\\%25|\\%(?!`+a+`{2})`)+`(`+ee+`)`)+`?\\]?$`)}}var c=s(!1),l=s(!0),u=function(){function e(e,t){var n=[],r=!0,i=!1,a=void 0;try{for(var o=e[Symbol.iterator](),s;!(r=(s=o.next()).done)&&(n.push(s.value),!(t&&n.length===t));r=!0);}catch(e){i=!0,a=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw TypeError(`Invalid attempt to destructure non-iterable instance`)}}(),d=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}else return Array.from(e)},f=2147483647,p=36,m=1,h=26,g=38,_=700,v=72,y=128,ee=`-`,b=/^xn--/,x=/[^\0-\x7E]/,te=/[\x2E\u3002\uFF0E\uFF61]/g,ne={overflow:`Overflow: input needs wider integers to process`,"not-basic":`Illegal input >= 0x80 (not a basic code point)`,"invalid-input":`Invalid input`},S=p-m,C=Math.floor,w=String.fromCharCode;function T(e){throw RangeError(ne[e])}function re(e,t){for(var n=[],r=e.length;r--;)n[r]=t(e[r]);return n}function E(e,t){var n=e.split(`@`),r=``;n.length>1&&(r=n[0]+`@`,e=n[1]),e=e.replace(te,`.`);var i=re(e.split(`.`),t).join(`.`);return r+i}function ie(e){for(var t=[],n=0,r=e.length;n<r;){var i=e.charCodeAt(n++);if(i>=55296&&i<=56319&&n<r){var a=e.charCodeAt(n++);(a&64512)==56320?t.push(((i&1023)<<10)+(a&1023)+65536):(t.push(i),n--)}else t.push(i)}return t}var D=function(e){return String.fromCodePoint.apply(String,d(e))},O=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:p},k=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},ae=function(e,t,n){var r=0;for(e=n?C(e/_):e>>1,e+=C(e/t);e>S*h>>1;r+=p)e=C(e/S);return C(r+(S+1)*e/(e+g))},A=function(e){var t=[],n=e.length,r=0,i=y,a=v,o=e.lastIndexOf(ee);o<0&&(o=0);for(var s=0;s<o;++s)e.charCodeAt(s)>=128&&T(`not-basic`),t.push(e.charCodeAt(s));for(var c=o>0?o+1:0;c<n;){for(var l=r,u=1,d=p;;d+=p){c>=n&&T(`invalid-input`);var g=O(e.charCodeAt(c++));(g>=p||g>C((f-r)/u))&&T(`overflow`),r+=g*u;var _=d<=a?m:d>=a+h?h:d-a;if(g<_)break;var b=p-_;u>C(f/b)&&T(`overflow`),u*=b}var x=t.length+1;a=ae(r-l,x,l==0),C(r/x)>f-i&&T(`overflow`),i+=C(r/x),r%=x,t.splice(r++,0,i)}return String.fromCodePoint.apply(String,t)},j=function(e){var t=[];e=ie(e);var n=e.length,r=y,i=0,a=v,o=!0,s=!1,c=void 0;try{for(var l=e[Symbol.iterator](),u;!(o=(u=l.next()).done);o=!0){var d=u.value;d<128&&t.push(w(d))}}catch(e){s=!0,c=e}finally{try{!o&&l.return&&l.return()}finally{if(s)throw c}}var g=t.length,_=g;for(g&&t.push(ee);_<n;){var b=f,x=!0,te=!1,ne=void 0;try{for(var S=e[Symbol.iterator](),re;!(x=(re=S.next()).done);x=!0){var E=re.value;E>=r&&E<b&&(b=E)}}catch(e){te=!0,ne=e}finally{try{!x&&S.return&&S.return()}finally{if(te)throw ne}}var D=_+1;b-r>C((f-i)/D)&&T(`overflow`),i+=(b-r)*D,r=b;var O=!0,A=!1,j=void 0;try{for(var M=e[Symbol.iterator](),N;!(O=(N=M.next()).done);O=!0){var P=N.value;if(P<r&&++i>f&&T(`overflow`),P==r){for(var F=i,I=p;;I+=p){var L=I<=a?m:I>=a+h?h:I-a;if(F<L)break;var oe=F-L,se=p-L;t.push(w(k(L+oe%se,0))),F=C(oe/se)}t.push(w(k(F,0))),a=ae(i,D,_==g),i=0,++_}}}catch(e){A=!0,j=e}finally{try{!O&&M.return&&M.return()}finally{if(A)throw j}}++i,++r}return t.join(``)},M={version:`2.1.0`,ucs2:{decode:ie,encode:D},decode:A,encode:j,toASCII:function(e){return E(e,function(e){return x.test(e)?`xn--`+j(e):e})},toUnicode:function(e){return E(e,function(e){return b.test(e)?A(e.slice(4).toLowerCase()):e})}},N={};function P(e){var t=e.charCodeAt(0),n=void 0;return n=t<16?`%0`+t.toString(16).toUpperCase():t<128?`%`+t.toString(16).toUpperCase():t<2048?`%`+(t>>6|192).toString(16).toUpperCase()+`%`+(t&63|128).toString(16).toUpperCase():`%`+(t>>12|224).toString(16).toUpperCase()+`%`+(t>>6&63|128).toString(16).toUpperCase()+`%`+(t&63|128).toString(16).toUpperCase(),n}function F(e){for(var t=``,n=0,r=e.length;n<r;){var i=parseInt(e.substr(n+1,2),16);if(i<128)t+=String.fromCharCode(i),n+=3;else if(i>=194&&i<224){if(r-n>=6){var a=parseInt(e.substr(n+4,2),16);t+=String.fromCharCode((i&31)<<6|a&63)}else t+=e.substr(n,6);n+=6}else if(i>=224){if(r-n>=9){var o=parseInt(e.substr(n+4,2),16),s=parseInt(e.substr(n+7,2),16);t+=String.fromCharCode((i&15)<<12|(o&63)<<6|s&63)}else t+=e.substr(n,9);n+=9}else t+=e.substr(n,3),n+=3}return t}function I(e,t){function n(e){var n=F(e);return n.match(t.UNRESERVED)?n:e}return e.scheme&&=String(e.scheme).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_SCHEME,``),e.userinfo!==void 0&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,n).replace(t.NOT_USERINFO,P).replace(t.PCT_ENCODED,i)),e.host!==void 0&&(e.host=String(e.host).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_HOST,P).replace(t.PCT_ENCODED,i)),e.path!==void 0&&(e.path=String(e.path).replace(t.PCT_ENCODED,n).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,P).replace(t.PCT_ENCODED,i)),e.query!==void 0&&(e.query=String(e.query).replace(t.PCT_ENCODED,n).replace(t.NOT_QUERY,P).replace(t.PCT_ENCODED,i)),e.fragment!==void 0&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,n).replace(t.NOT_FRAGMENT,P).replace(t.PCT_ENCODED,i)),e}function L(e){return e.replace(/^0*(.*)/,`$1`)||`0`}function oe(e,t){var n=u(e.match(t.IPV4ADDRESS)||[],2)[1];return n?n.split(`.`).map(L).join(`.`):e}function se(e,t){var n=u(e.match(t.IPV6ADDRESS)||[],3),r=n[1],i=n[2];if(r){for(var a=u(r.toLowerCase().split(`::`).reverse(),2),o=a[0],s=a[1],c=s?s.split(`:`).map(L):[],l=o.split(`:`).map(L),d=t.IPV4ADDRESS.test(l[l.length-1]),f=d?7:8,p=l.length-f,m=Array(f),h=0;h<f;++h)m[h]=c[h]||l[p+h]||``;d&&(m[f-1]=oe(m[f-1],t));var g=m.reduce(function(e,t,n){if(!t||t===`0`){var r=e[e.length-1];r&&r.index+r.length===n?r.length++:e.push({index:n,length:1})}return e},[]).sort(function(e,t){return t.length-e.length})[0],_=void 0;if(g&&g.length>1){var v=m.slice(0,g.index),y=m.slice(g.index+g.length);_=v.join(`:`)+`::`+y.join(`:`)}else _=m.join(`:`);return i&&(_+=`%`+i),_}else return e}var ce=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,le=``.match(/(){0}/)[1]===void 0;function R(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={},r=t.iri===!1?c:l;t.reference===`suffix`&&(e=(t.scheme?t.scheme+`:`:``)+`//`+e);var i=e.match(ce);if(i){le?(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||``,n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5])):(n.scheme=i[1]||void 0,n.userinfo=e.indexOf(`@`)===-1?void 0:i[3],n.host=e.indexOf(`//`)===-1?void 0:i[4],n.port=parseInt(i[5],10),n.path=i[6]||``,n.query=e.indexOf(`?`)===-1?void 0:i[7],n.fragment=e.indexOf(`#`)===-1?void 0:i[8],isNaN(n.port)&&(n.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),n.host&&=se(oe(n.host,r),r),n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference=`same-document`:n.scheme===void 0?n.reference=`relative`:n.fragment===void 0?n.reference=`absolute`:n.reference=`uri`,t.reference&&t.reference!==`suffix`&&t.reference!==n.reference&&(n.error=n.error||`URI is not a `+t.reference+` reference.`);var a=N[(t.scheme||n.scheme||``).toLowerCase()];if(!t.unicodeSupport&&(!a||!a.unicodeSupport)){if(n.host&&(t.domainHost||a&&a.domainHost))try{n.host=M.toASCII(n.host.replace(r.PCT_ENCODED,F).toLowerCase())}catch(e){n.error=n.error||`Host's domain name can not be converted to ASCII via punycode: `+e}I(n,c)}else I(n,r);a&&a.parse&&a.parse(n,t)}else n.error=n.error||`URI can not be parsed.`;return n}function ue(e,t){var n=t.iri===!1?c:l,r=[];return e.userinfo!==void 0&&(r.push(e.userinfo),r.push(`@`)),e.host!==void 0&&r.push(se(oe(String(e.host),n),n).replace(n.IPV6ADDRESS,function(e,t,n){return`[`+t+(n?`%25`+n:``)+`]`})),(typeof e.port==`number`||typeof e.port==`string`)&&(r.push(`:`),r.push(String(e.port))),r.length?r.join(``):void 0}var de=/^\.\.?\//,fe=/^\/\.(\/|$)/,pe=/^\/\.\.(\/|$)/,me=/^\/?(?:.|\n)*?(?=\/|$)/;function he(e){for(var t=[];e.length;)if(e.match(de))e=e.replace(de,``);else if(e.match(fe))e=e.replace(fe,`/`);else if(e.match(pe))e=e.replace(pe,`/`),t.pop();else if(e===`.`||e===`..`)e=``;else{var n=e.match(me);if(n){var r=n[0];e=e.slice(r.length),t.push(r)}else throw Error(`Unexpected dot segment condition`)}return t.join(``)}function z(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.iri?l:c,r=[],i=N[(t.scheme||e.scheme||``).toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host&&!n.IPV6ADDRESS.test(e.host)&&(t.domainHost||i&&i.domainHost))try{e.host=t.iri?M.toUnicode(e.host):M.toASCII(e.host.replace(n.PCT_ENCODED,F).toLowerCase())}catch(n){e.error=e.error||`Host's domain name can not be converted to `+(t.iri?`Unicode`:`ASCII`)+` via punycode: `+n}I(e,n),t.reference!==`suffix`&&e.scheme&&(r.push(e.scheme),r.push(`:`));var a=ue(e,t);if(a!==void 0&&(t.reference!==`suffix`&&r.push(`//`),r.push(a),e.path&&e.path.charAt(0)!==`/`&&r.push(`/`)),e.path!==void 0){var o=e.path;!t.absolutePath&&(!i||!i.absolutePath)&&(o=he(o)),a===void 0&&(o=o.replace(/^\/\//,`/%2F`)),r.push(o)}return e.query!==void 0&&(r.push(`?`),r.push(e.query)),e.fragment!==void 0&&(r.push(`#`),r.push(e.fragment)),r.join(``)}function ge(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments[3],i={};return r||(e=R(z(e,n),n),t=R(z(t,n),n)),n||={},!n.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=he(t.path||``),i.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=he(t.path||``),i.query=t.query):(t.path?(t.path.charAt(0)===`/`?i.path=he(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?i.path=`/`+t.path:e.path?i.path=e.path.slice(0,e.path.lastIndexOf(`/`)+1)+t.path:i.path=t.path,i.path=he(i.path)),i.query=t.query):(i.path=e.path,t.query===void 0?i.query=e.query:i.query=t.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function _e(e,t,n){var r=o({scheme:`null`},n);return z(ge(R(e,r),R(t,r),r,!0),r)}function ve(e,t){return typeof e==`string`?e=z(R(e,t),t):r(e)===`object`&&(e=R(z(e,t),t)),e}function ye(e,t,n){return typeof e==`string`?e=z(R(e,n),n):r(e)===`object`&&(e=z(e,n)),typeof t==`string`?t=z(R(t,n),n):r(t)===`object`&&(t=z(t,n)),e===t}function be(e,t){return e&&e.toString().replace(!t||!t.iri?c.ESCAPE:l.ESCAPE,P)}function B(e,t){return e&&e.toString().replace(!t||!t.iri?c.PCT_ENCODED:l.PCT_ENCODED,F)}var xe={scheme:`http`,domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||`HTTP URIs must have a host.`),e},serialize:function(e,t){var n=String(e.scheme).toLowerCase()===`https`;return(e.port===(n?443:80)||e.port===``)&&(e.port=void 0),e.path||=`/`,e}},Se={scheme:`https`,domainHost:xe.domainHost,parse:xe.parse,serialize:xe.serialize};function Ce(e){return typeof e.secure==`boolean`?e.secure:String(e.scheme).toLowerCase()===`wss`}var we={scheme:`ws`,domainHost:!0,parse:function(e,t){var n=e;return n.secure=Ce(n),n.resourceName=(n.path||`/`)+(n.query?`?`+n.query:``),n.path=void 0,n.query=void 0,n},serialize:function(e,t){if((e.port===(Ce(e)?443:80)||e.port===``)&&(e.port=void 0),typeof e.secure==`boolean`&&(e.scheme=e.secure?`wss`:`ws`,e.secure=void 0),e.resourceName){var n=u(e.resourceName.split(`?`),2),r=n[0],i=n[1];e.path=r&&r!==`/`?r:void 0,e.query=i,e.resourceName=void 0}return e.fragment=void 0,e}},V={scheme:`wss`,domainHost:we.domainHost,parse:we.parse,serialize:we.serialize},Te={},Ee=`[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]`,H=`[0-9A-Fa-f]`,De=n(n(`%[EFef]`+H+`%`+H+H+`%`+H+H)+`|`+n(`%[89A-Fa-f]`+H+`%`+H+H)+`|`+n(`%`+H+H)),Oe="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",U=t(`[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]`,`[\\"\\\\]`),W=`[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]`,G=new RegExp(Ee,`g`),K=new RegExp(De,`g`),ke=new RegExp(t(`[^]`,Oe,`[\\.]`,`[\\"]`,U),`g`),Ae=new RegExp(t(`[^]`,Ee,W),`g`),q=Ae;function je(e){var t=F(e);return t.match(G)?t:e}var Me={scheme:`mailto`,parse:function(e,t){var n=e,r=n.to=n.path?n.path.split(`,`):[];if(n.path=void 0,n.query){for(var i=!1,a={},o=n.query.split(`&`),s=0,c=o.length;s<c;++s){var l=o[s].split(`=`);switch(l[0]){case`to`:for(var u=l[1].split(`,`),d=0,f=u.length;d<f;++d)r.push(u[d]);break;case`subject`:n.subject=B(l[1],t);break;case`body`:n.body=B(l[1],t);break;default:i=!0,a[B(l[0],t)]=B(l[1],t);break}}i&&(n.headers=a)}n.query=void 0;for(var p=0,m=r.length;p<m;++p){var h=r[p].split(`@`);if(h[0]=B(h[0]),t.unicodeSupport)h[1]=B(h[1],t).toLowerCase();else try{h[1]=M.toASCII(B(h[1],t).toLowerCase())}catch(e){n.error=n.error||`Email address's domain name can not be converted to ASCII via punycode: `+e}r[p]=h.join(`@`)}return n},serialize:function(e,t){var n=e,r=a(e.to);if(r){for(var o=0,s=r.length;o<s;++o){var c=String(r[o]),l=c.lastIndexOf(`@`),u=c.slice(0,l).replace(K,je).replace(K,i).replace(ke,P),d=c.slice(l+1);try{d=t.iri?M.toUnicode(d):M.toASCII(B(d,t).toLowerCase())}catch(e){n.error=n.error||`Email address's domain name can not be converted to `+(t.iri?`Unicode`:`ASCII`)+` via punycode: `+e}r[o]=u+`@`+d}n.path=r.join(`,`)}var f=e.headers=e.headers||{};e.subject&&(f.subject=e.subject),e.body&&(f.body=e.body);var p=[];for(var m in f)f[m]!==Te[m]&&p.push(m.replace(K,je).replace(K,i).replace(Ae,P)+`=`+f[m].replace(K,je).replace(K,i).replace(q,P));return p.length&&(n.query=p.join(`&`)),n}},Ne=/^([^\:]+)\:(.*)/,Pe={scheme:`urn`,parse:function(e,t){var n=e.path&&e.path.match(Ne),r=e;if(n){var i=t.scheme||r.scheme||`urn`,a=n[1].toLowerCase(),o=n[2],s=N[i+`:`+(t.nid||a)];r.nid=a,r.nss=o,r.path=void 0,s&&(r=s.parse(r,t))}else r.error=r.error||`URN can not be parsed.`;return r},serialize:function(e,t){var n=t.scheme||e.scheme||`urn`,r=e.nid,i=N[n+`:`+(t.nid||r)];i&&(e=i.serialize(e,t));var a=e,o=e.nss;return a.path=(r||t.nid)+`:`+o,a}},Fe=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,Ie={scheme:`urn:uuid`,parse:function(e,t){var n=e;return n.uuid=n.nss,n.nss=void 0,!t.tolerant&&(!n.uuid||!n.uuid.match(Fe))&&(n.error=n.error||`UUID is not valid.`),n},serialize:function(e,t){var n=e;return n.nss=(e.uuid||``).toLowerCase(),n}};N[xe.scheme]=xe,N[Se.scheme]=Se,N[we.scheme]=we,N[V.scheme]=V,N[Me.scheme]=Me,N[Pe.scheme]=Pe,N[Ie.scheme]=Ie,e.SCHEMES=N,e.pctEncChar=P,e.pctDecChars=F,e.parse=R,e.removeDotSegments=he,e.serialize=z,e.resolveComponents=ge,e.resolve=_e,e.normalize=ve,e.equal=ye,e.escapeComponent=be,e.unescapeComponent=B,Object.defineProperty(e,`__esModule`,{value:!0})}))}))());let xe=/(#)+$/,Se=/#$/,Ce=/^[^:]+:\/\/[^/]+\//,we=/#.*$/;function V(e,t){return t==null?e?.replace(Se,``)??`#`:e==null||e===`#`?t?.replace(Se,``):t[0]===`#`?e[0]===`/`?t:`${e.replace(we,``)}${t.replace(xe,``)}`:Ce.test(t)?t.replace(Se,``):(0,B.resolve)(e,t??``)??`#`}let Te=/(#)+$/g,Ee=[``,null,`#`];function H(e){if(Ee.includes(e))return[];if(e=e.replace(Te,``),e.indexOf(`#`)===-1)return[e.replace(/(#|\/)+$/g,``)];if(e.indexOf(`#`)===0)return[e.replace(Te,``)];let t=e.split(`#`);return t[0]=t[0].replace(/(#|\/)+$/g,``),t[1]=`#${t[1].replace(Te,``)}`,t}function De(e,...t){let n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}let Oe=Object.prototype.toString;function U(e){let t=Oe.call(e).slice(8,-1).toLowerCase();return t===`file`?`object`:t}function W(e){return U(e)===`object`}var G={DECLARATOR_ONEOF:`oneOfProperty`,propertyBlacklist:[`_id`],DYNAMIC_PROPERTIES:[`$ref`,`$defs`,`if`,`then`,`else`,`allOf`,`anyOf`,`oneOf`,`dependentSchemas`,`dependentRequired`,`definitions`,`dependencies`,`patternProperties`],REGEX_FLAGS:`u`};function K(e){let t=e===void 0?{}:{type:U(e)};return t.type===`object`&&W(e)&&(t.properties={},Object.keys(e).forEach(n=>t.properties[n]=K(e[n]))),t.type===`array`&&Array.isArray(e)&&(e.length===1?t.items=K(e[0]):(t.items=e.map(K),t.items.find(e=>e.type!==t.items[0].type)??(t.items=t.items[0]))),t}function ke(e,t){t!=null&&Object.values(t).forEach(t=>q(t,e))}function Ae(e,t){t?.forEach(t=>q(t,e))}function q(e,t=[]){return Z(e)?(t.push(e),ke(t,e.$defs),e.additionalProperties&&q(e.additionalProperties,t),Ae(t,e.allOf),Ae(t,e.anyOf),e.contains&&q(e.contains,t),ke(t,e.dependentSchemas),e.if&&q(e.if,t),e.else&&q(e.else,t),e.then&&q(e.then,t),e.items&&q(e.items,t),Ae(t,e.prefixItems),e.not&&q(e.not,t),Ae(t,e.oneOf),e.patternProperties&&Object.values(e.patternProperties).forEach(({node:e})=>q(e,t)),ke(t,e.properties),e.propertyNames&&q(e.propertyNames,t),e.unevaluatedProperties&&q(e.unevaluatedProperties,t),e.unevaluatedItems&&q(e.unevaluatedItems,t),t):t}function je(e){return e===`#`||e===``||Array.isArray(e)&&e.length===0||!1}let Me=/~1/g,Ne=/~0/g,Pe=/(^#?\/?)/g;function Fe(e){return e.replace(Me,`/`).replace(Ne,`~`)}function Ie(e){return Fe(decodeURIComponent(e))}function Le(e){if(e==null||typeof e!=`string`||je(e))return Array.isArray(e)?e.slice():[];let t=e.indexOf(`#`)>=0?Ie:Fe;e=e.replace(Pe,``);let n=e.split(`/`);for(let e=0,r=n.length;e<r;e+=1)n[e]=t(n[e]);return n}function Re(e,t,n=void 0){if(t==null||e==null)return n;if(je(t))return e;let r=ze(e,Le(t));return r===void 0?n:r}function ze(e,t){let n=t.shift();if(e!==void 0)return n===void 0?e:ze(e[n],t)}let Be=/~/g,Ve=/\//g;function He(e,t){if(e.length===0)return t?`#`:``;for(let n=0,r=e.length;n<r;n+=1)e[n]=e[n].replace(Be,`~0`).replace(Ve,`~1`),t&&(e[n]=encodeURIComponent(e[n]));return(t?`#/`:`/`)+e.join(`/`)}function Ue(e,...t){let n=[];if(Array.isArray(e))return He(e,arguments[1]===!0);let r=arguments[arguments.length-1],i=typeof r==`boolean`?r:e&&e[0]===`#`;for(let e=0,t=arguments.length;e<t;e+=1)n.push.apply(n,Le(arguments[e]));let a=[];for(let e=0,t=n.length;e<t;e+=1)if(n[e]===`..`){if(a.length===0)return i?`#`:``;a.pop()}else a.push(n[e]);return He(a,i)}function J(e,t,...n){if(t?.type===`error`)return t;if(e?.type===`error`||U(e)!==U(t))return e;let r=We(e,t);for(let e=0;e<n.length;e+=1)delete r[n[e]];return r}function We(e,t,n){if(W(e)&&W(t)){let n={};return[...Object.keys(e),...Object.keys(t)].filter((e,t,n)=>n.indexOf(e)===t).forEach(r=>n[r]=We(e[r],t[r],r)),n}if(Array.isArray(e)&&Array.isArray(t)){if(n===`required`||n===`anyOf`)return e.concat(t).filter((e,t,n)=>n.indexOf(e)===t);if(n===`items`||n===`prefixItems`){let n=[];for(let r=0;r<t.length;r+=1)W(e[r])&&W(t[r])&&e[r].type===t[r].type?n[r]=We(e[r],t[r]):n.push(t[r]??e[r]);return n}let r=[],i=[];for(let n=0;n<Math.max(e.length,t.length);n+=1)W(e[n])&&W(t[n])?r[n]=We(e[n],t[n]):e[n]!==void 0&&t[n]!==void 0?(r[n]=e[n],i.push(t[n])):e[n]===void 0?t[n]!==void 0&&i.push(t[n]):r[n]=e[n];return[...r,...i].filter((e,t,n)=>n.indexOf(e)===t)}return Array.isArray(t)?t:Array.isArray(e)||t===void 0?e:t}function Ge(e,t){return(t.order??0)-(e.order??0)}function Ke(e,t,n){if(e==null||n.indexOf(e)!==t)return!1;let r=e.toJSON?.()??e.name;return n.find((e,n)=>(e.toJSON?.()??e.name)===r&&n===t)}function qe(e,t){if(e==null||t==null)return t||e;let n={};return[...Object.keys(e),...Object.keys(t)].filter((e,t,n)=>n.indexOf(e)===t).forEach(r=>{let i=Y(e[r],t[r]);Z(i)&&(n[r]=i)}),n}function Je(e,t){if(e==null||t==null)return e||t;let n=[...e],r=e.map(e=>e.node.evaluationPath);return t.forEach(e=>{r.includes(e.node.evaluationPath)||n.push(e)}),n}function Y(e,t,...n){if(e==null||t==null)return e||t;let r={};e.items&&t.prefixItems||e.prefixItems&&t.items?t.prefixItems?r.prefixItems=t.prefixItems:r.items=t.items:(r.prefixItems=t.prefixItems??e.prefixItems,r.items=Y(e.items,t.items));let i={...e,...t,...r,dynamicId:at(e.dynamicId,t.dynamicId),oneOfIndex:e.oneOfIndex??t.oneOfIndex,schema:J(e.schema,t.schema,...n),parent:e.parent,resolvers:e.resolvers.concat(t.resolvers).filter(Ke).sort(Ge),reducers:e.reducers.concat(t.reducers).filter(Ke).sort(Ge),validators:e.validators.concat(t.validators).filter(Ke).sort(Ge),additionalProperties:Y(e.additionalProperties,t.additionalProperties),contains:Y(e.contains,t.contains),if:Y(e.if,t.if),then:Y(e.then,t.then),else:Y(e.else,t.else),not:Y(e.not,t.not),propertyNames:Y(e.propertyNames,t.propertyNames),unevaluatedProperties:Y(e.unevaluatedProperties,t.unevaluatedProperties),unevaluatedItems:Y(e.unevaluatedItems,t.unevaluatedItems),$defs:qe(e.$defs,t.$defs),patternProperties:Je(e.patternProperties,t.patternProperties),properties:qe(e.properties,t.properties)};function a(e){let t=e.toJSON?.()??e.name;return i.schema?.[t]===void 0?(i[t]=void 0,!1):!0}return n?.forEach(e=>i[e]=void 0),i.resolvers=i.resolvers.filter(a),i.reducers=i.reducers.filter(a),i.validators=i.validators.filter(a),i}function Ye(e,...t){if(!W(e)||t.length===0)return e;let n={};return t.forEach(t=>{e[t]!==void 0&&(n[t]=e[t])}),n}function Xe(e,t={}){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>{let r=t[n];return r==null?``:typeof r==`object`?JSON.stringify(r):String(r)})}let Ze=Object.prototype.hasOwnProperty,Qe=(e,t)=>!(e[t]===void 0||!Ze.call(e,t));function X(e,t){if(W(e)||Array.isArray(e))return e[t]}function $e(e,t,n={}){n.path=n.path??[],n.withSchemaWarning=n.withSchemaWarning??!1,n.pointer=n.pointer??`#`;let r=this,i=Le(e);if(i.length===0){let e=r.resolveRef(n);return Q(e)?{node:void 0,error:e}:{node:e,error:void 0}}let a=`#`,o=r;for(let e=0,r=i.length;e<r;e+=1){a=`${a}/${i[e]}`;let r=o.getNodeChild(i[e],t,{...n,pointer:a});if(r.error||r.node==null)return r;o=r.node,t=X(t,i[e])}let s=o.resolveRef(n);return Q(s)?{node:void 0,error:s}:{node:s,error:void 0}}function et(e,t,n={}){n.path=n.path??[],n.withSchemaWarning=n.withSchemaWarning??!1,n.pointer=n.pointer??`#`;let{path:r,pointer:i}=n,a=this;if(a.reducers.length){let n=a.reduceNode(t,{key:e,path:r,pointer:i});if(n.error)return n;Z(n.node)&&(a=n.node)}for(let n of a.resolvers){let r=n({data:t,key:e,node:a});if(Z(r))return{node:r,error:void 0};if(Q(r))return{node:void 0,error:r}}let o=a.resolveRef({path:r});return o===a?n.createSchema===!0?{node:a.compileSchema(a.createSchema(X(t,e)),`${a.evaluationPath}/additional`,`${a.schemaLocation}/additional`),error:void 0}:n.withSchemaWarning===!0?{node:void 0,error:a.createError(`schema-warning`,{pointer:i,value:t,schema:a.schema,key:e})}:{node:void 0,error:void 0}:o.getNodeChild(e,t,n)}let{DYNAMIC_PROPERTIES:tt,REGEX_FLAGS:nt}=G;function Z(e){return W(e)&&Array.isArray(e?.reducers)&&Array.isArray(e?.resolvers)}function rt(e){for(let t=0,n=tt.length;t<n;t+=1)if(Qe(e,tt[t]))return!0;return!1}function it(e,t){if(!Array.isArray(e)||e.length===0)throw Error(`Missing drafts in 'compileSchema({ $schema: "${t}" })'`);return e.length===1?e[0]:e.find(e=>new RegExp(e.$schemaRegEx,nt).test(t))??e[e.length-1]}function at(e,t){return e==t?e??``:e==null||t==null?e||t:e.startsWith(t)?e:t.startsWith(e)?t:`${e}+${t}`}let ot={compileSchema(e,t=this.evaluationPath,n,r){let i=t.split(`/$ref`)[0],a=this,o={lastIdPointer:a.lastIdPointer,context:a.context,parent:a,evaluationPath:t,dynamicId:at(a.dynamicId,r),schemaLocation:n??Ue(a.schemaLocation,i),reducers:[],resolvers:[],validators:[],schema:e,...ot};return lt(o),o},createError(e,t,n){let r=n;if(r===void 0){let n=this.schema?.errorMessages?.[e]??this.context.errors[e];if(typeof n==`function`)return n(t);r=Xe(n??name,t)}return{type:`error`,code:e,message:r,data:t}},createSchema:K,getChildSelection(e){let t=this;return t.context.methods.getChildSelection(t,e)},getNode:$e,getNodeChild:et,getNodeRef(e){return this.compileSchema({$ref:e},`$dynamic`).resolveRef()},getNodeRoot(){return this.context.rootNode},getDraftVersion(){return this.context.version},getData(e,t){let n=this,r={recursionLimit:1,...n.context.getDataDefaultOptions,cache:{},...t??{}};return n.context.methods.getData(n,e,r)},reduceNode(e,t={}){let n=this,{key:r,pointer:i,path:a}=t;if(n.schema===!1)return{node:n,error:void 0};if(n.schema===!0){let t=n.compileSchema(K(e),n.evaluationPath,n.schemaLocation);return a?.push({pointer:i,node:n}),{node:t,error:void 0}}let o,s=n.compileSchema(n.schema,n.evaluationPath,n.schemaLocation),c=n.reducers;for(let t=0;t<c.length;t+=1){let l=c[t]({data:e,key:r,node:n,pointer:i,path:a});if(Q(l))return{node:void 0,error:l};if(l){if(l.schema===!1){o=!1;break}s=Y(s,l)}}return o===!1?{node:{...n,schema:!1,reducers:[]},error:void 0}:(s!==n&&a?.push({pointer:i,node:n}),s.schema=De(s.schema,...tt),tt.forEach(e=>s[e]=void 0),{node:s,error:void 0})},validate(e,t=`#`,n=[]){let r=$(this,e,t,n)??[],i=[],a=dt(Array.isArray(r)?r:[r]).filter(Q),o=[];return dt(Array.isArray(r)?r:[r]).forEach(e=>{Q(e)?i.push(e):e instanceof Promise&&o.push(e)}),{valid:a.length===0,errors:i,errorsAsync:o}},addRemoteSchema(e,t){t.$id=V(t.$id||e);let{context:n}=this,r=it(n.drafts,t?.$schema??this.context.rootNode.$schema),i={evaluationPath:`#`,lastIdPointer:`#`,schemaLocation:`#`,dynamicId:``,reducers:[],resolvers:[],validators:[],schema:t,context:{...n,refs:{},anchors:{},...be(Ye(r,`methods`,`keywords`,`version`,`formats`,`errors`))},...ot};return i.context.rootNode=i,i.context.remotes[V(e)]=i,lt(i),this},toSchemaNodes(){return q(this)},toDataNodes(e,t){let n=this;return n.context.methods.toDataNodes(n,e,t)},toJSON(){return{...this,context:void 0,errors:void 0,parent:this.parent?.evaluationPath}}},st=[`$ref`,`if`,`$defs`],ct=[`draft-04`,`draft-06`,`draft-07`];function lt(e){if(e.schema.$ref&&ct.includes(e.context.version)){e.context.keywords.filter(({keyword:e})=>st.includes(e)).forEach(t=>ut(t,e));return}let t=Object.keys(e.schema);e.context.keywords.filter(({keyword:e})=>t.includes(e)||st.includes(e)).forEach(t=>ut(t,e))}function ut(e,t){e.parse?.(t),e.addReduce?.(t)&&t.reducers.push(e.reduce),e.addResolve?.(t)&&t.resolvers.push(e.resolve),e.addValidate?.(t)&&t.validators.push(e.validate)}function Q(e){return e?.type===`error`}function dt(e,t=[]){if(!Array.isArray(e))return[e];for(let n=0;n<e.length;n+=1){let r=e[n];Array.isArray(r)?dt(r,t):(Q(r)||r instanceof Promise)&&t.push(r)}return t}function $(e,t,n,r){r?.push({pointer:n,node:e});let i=e.schema;if(i===!0)return[];if(i===!1)return[e.createError(`invalid-data-error`,{value:t,pointer:n,schema:e.schema})];let a=[];for(let i of e.validators){let o=i({node:e,data:t,pointer:n,path:r});Array.isArray(o)?a.push(...o):o&&a.push(o)}return dt(a)}let ft={id:`$ref`,keyword:`$ref`,order:10,parse:mt,addReduce:e=>e.$ref!=null||e.schema.$dynamicRef!=null,reduce:ht,addValidate:({schema:e})=>e.$ref!=null||e.$dynamicRef!=null,validate:_t};function pt(e,t){e.context.refs[t]??(e.context.refs[t]=e)}function mt(e){e.resolveRef=gt;let t=V(e.parent?.$id,e.schema?.$id);e.$id=t,e.lastIdPointer=e.parent?.lastIdPointer??`#`,t!==e.parent?.$id&&e.evaluationPath!==`#`&&(e.lastIdPointer=e.evaluationPath),e.lastIdPointer!==`#`&&e.evaluationPath.startsWith(e.lastIdPointer)&&pt(e,V(t,`#${e.evaluationPath.replace(e.lastIdPointer,``)}`)),pt(e,V(e.context.rootNode.$id,e.evaluationPath));let n=e.schema.$anchor;if(n){let r=`${t.replace(/#$/,``)}#${n}`;e.context.anchors[r]??(e.context.anchors[r]=e)}let r=e.schema.$dynamicAnchor;if(r){let n=`${t.replace(/#$/,``)}#${r}`;e.context.dynamicAnchors[n]??(e.context.dynamicAnchors[n]=e)}e.schema.$ref&&(e.$ref=V(t,e.schema.$ref),e.$ref.startsWith(`/`)&&(e.$ref=`#${e.$ref}`))}function ht({node:e,data:t,key:n,pointer:r,path:i}){if(e==null)return;let a=e.resolveRef({pointer:r,path:i});if(a==null)return;if(a.schemaLocation===e.schemaLocation)return a;let{node:o,error:s}=Y(e,a).reduceNode(t,{key:n,pointer:r,path:i});return o??s}function gt({pointer:e,path:t}={}){let n=this;if(n.schema.$dynamicRef){let r=vt(n,t);return t?.push({pointer:e,node:r}),r}if(n.$ref==null)return n;let r=xt(n);return r!=null&&t?.push({pointer:e,node:r}),r}function _t({node:e,data:t,pointer:n=`#`,path:r}){let i=e.resolveRef({pointer:n,path:r});if(i!=null)return $(i,t,n,r)}function vt(e,t){let n=t,r=V(e.$id,e.schema.$dynamicRef);if(e.context.dynamicAnchors[r]==null&&e.context.anchors[r])return bt(e.context.anchors[r],e);for(let t=0;t<n.length;t+=1){if(n[t].node.schema.$dynamicAnchor)return bt(n[t].node,e);let r=e.schema.$dynamicRef.split(`#`).pop(),i=V(n[t].node.$id,`#${r}`);if(e.context.dynamicAnchors[i])return bt(e.context.dynamicAnchors[i],e)}return xt(e,r)}let yt=[`title`,`description`,`options`,`readOnly`,`writeOnly`];function bt(e,t){let n=e.schema;return W(e.schema)&&(n={...De(e.schema,`$id`),...Ye(t.schema,...yt)}),e.compileSchema(n,`${t.evaluationPath}/$ref`,e.schemaLocation)}function xt(e,t=e?.$ref){if(t==null)return e;if(e.context.refs[t])return bt(e.context.refs[t],e);if(e.context.anchors[t])return bt(e.context.anchors[t],e);if(e.context.dynamicAnchors[t])return bt(e.context.dynamicAnchors[t],e);let n=H(t);if(n.length!==0){if(n.length===1){let t=n[0];if(e.context.remotes[t])return bt(e.context.remotes[t],e);if(t[0]===`#`){let n=e.context.rootNode.schema,r=Re(n,t);if(r)return e.compileSchema(r,`${e.evaluationPath}/$ref`,t)}return}if(n.length===2){let r=n[0];if(e.context.remotes[r]&&e!==e.context.remotes[r]){let i=e.context.remotes[r],a=xt(i,t);if(a||(a=xt(i,n[1]),a))return a}if(e.context.refs[r]){let t=e.context.refs[r],i=Le(n[1]),a=t;for(let e=0;e<i.length;e+=1){let t=i[e]===`definitions`?`$defs`:i[e];if(a=a[t],a==null){console.error(`REF: FAILED RESOLVING ref json-pointer`,n[1]);return}}return a}console.error(`REF: UNFOUND 2`,t);return}console.error(`REF: UNHANDLED`,t)}}let St={id:`additionalItems`,keyword:`additionalItems`,order:-10,parse:Ct,addResolve:e=>e.items!=null,resolve:wt,addValidate:({schema:e})=>e.additionalItems!=null&&e.additionalItems!==!0&&Array.isArray(e.items),validate:Tt};function Ct(e){let{schema:t,evaluationPath:n,schemaLocation:r}=e;(W(t.additionalItems)||t.additionalItems===!0)&&Array.isArray(t.items)&&(e.items=e.compileSchema(t.additionalItems,`${n}/additionalItems`,`${r}/additionalItems`))}function wt({node:e,key:t,data:n}){if(Array.isArray(n)){let r=X(n,t),{node:i,error:a}=e.items.reduceNode(r);return i??a}}function Tt({node:e,data:t,pointer:n,path:r}){let{schema:i}=e;if(!Array.isArray(t)||t.length===0||Array.isArray(i.items)&&i.items.length>=t.length)return;let a=Array.isArray(i.items)?i.items.length:0,o=[];for(let s=a;s<t.length;s+=1){let a=t[s];if(e.items){let t=$(e.items,a,`${n}/${s}`,r);t&&o.push(...t)}else i.additionalItems===!1&&o.push(e.createError(`additional-items-error`,{key:s,pointer:`${n}/${s}`,value:t,schema:i}))}return o}let Et={id:`additionalProperties`,keyword:`additionalProperties`,order:-10,parse:Dt,addResolve:({schema:e})=>e.additionalProperties!=null,resolve:Ot,addValidate:({schema:e})=>e.additionalProperties!==!0&&e.additionalProperties!=null&&!(e.additionalProperties===!1&&W(e.patternProperties)),validate:kt};function Dt(e){let{schema:t,evaluationPath:n,schemaLocation:r}=e;W(t.additionalProperties)&&(e.additionalProperties=e.compileSchema(t.additionalProperties,`${n}/additionalProperties`,`${r}/additionalProperties`))}function Ot({node:e,data:t,key:n}){let r=X(t,n);if(e.additionalProperties){let{node:t,error:n}=e.additionalProperties.reduceNode(r);return t??n}if(e.schema.additionalProperties===!1)return e.createError(`no-additional-properties-error`,{pointer:`${n}`,schema:e.schema,value:X(t,n),property:`${n}`})}function kt({node:e,data:t,pointer:n=`#`,path:r}){if(!W(t))return;let{schema:i}=e,a=[],o=Object.keys(t).filter(e=>G.propertyBlacklist.includes(e)===!1);Array.isArray(e.patternProperties)&&(o=o.filter(t=>{for(let n=0;n<e.patternProperties.length;n+=1)if(e.patternProperties[n].pattern.test(t))return!1;return!0}));let s=e.properties?Object.keys(e.properties):[];return o.filter(e=>s.indexOf(e)===-1).forEach(o=>{let c=X(t,o);if(W(e.additionalProperties)){let t=$(e.additionalProperties,c,`${n}/${o}`,r);t&&a.push(...t)}else a.push(e.createError(`no-additional-properties-error`,{pointer:`${n}/${o}`,schema:i,value:t,property:o,properties:s}))}),a}let At={id:`allOf`,keyword:`allOf`,parse:jt,addReduce:e=>e.allOf!=null,reduce:Mt,addValidate:e=>e.allOf!=null,validate:Nt};function jt(e){let{schema:t,evaluationPath:n}=e;Array.isArray(t.allOf)&&t.allOf.length&&(e.allOf=t.allOf.map((t,r)=>e.compileSchema(t,`${n}/allOf/${r}`,`${e.schemaLocation}/allOf/${r}`)))}function Mt({node:e,data:t,key:n,pointer:r,path:i}){if(e.allOf==null)return;let a={},o=``;for(let s=0;s<e.allOf.length;s+=1){let{node:c}=e.allOf[s].reduceNode(t,{key:n,pointer:r,path:i});if(c){let t=c.dynamicId?.replace(e.dynamicId,``)??``,n=t===``?`allOf/${s}`:t;o+=`${o===``?``:`,`}${n}`;let r=J(e.allOf[s].schema,c.schema);a=J(a,r,`allOf`,`contains`)}}return e.compileSchema(a,`${e.evaluationPath}/${o}`,e.schemaLocation,`${e.schemaLocation}(${o})`)}function Nt({node:e,data:t,pointer:n,path:r}){if(!Array.isArray(e.allOf)||e.allOf.length===0)return;let i=[];return e.allOf.forEach(e=>{i.push(...$(e,t,n,r))}),i}let Pt={id:`anyOf`,keyword:`anyOf`,parse:Ft,addReduce:e=>e.anyOf!=null,reduce:It,addValidate:e=>e.anyOf!=null,validate:Lt};function Ft(e){let{schema:t,evaluationPath:n,schemaLocation:r}=e;Array.isArray(t.anyOf)&&t.anyOf.length&&(e.anyOf=t.anyOf.map((t,i)=>e.compileSchema(t,`${n}/anyOf/${i}`,`${r}/anyOf/${i}`)))}function It({node:e,data:t,pointer:n,path:r}){if(e.anyOf==null)return;let i={},a=``;for(let o=0;o<e.anyOf.length;o+=1)if($(e.anyOf[o],t,n,r).length===0){let{node:n}=e.anyOf[o].reduceNode(t);if(n){let t=n.dynamicId?.replace(e.dynamicId,``)??``,r=t===``?`anyOf/${o}`:t;a+=`${a===``?``:`,`}${r}`;let s=J(e.anyOf[o].schema,n.schema);i=J(i,s,`anyOf`)}}return e.compileSchema(i,`${e.evaluationPath}${a}`,e.schemaLocation,`${e.schemaLocation}(${a})`)}function Lt({node:e,data:t,pointer:n,path:r}){for(let i=0;i<e.anyOf.length;i+=1)if($(e.anyOf[i],t,n,r).length===0)return;return e.createError(`any-of-error`,{pointer:n,schema:e.schema,value:t,anyOf:e.schema.anyOf})}let Rt={id:`contains`,keyword:`contains`,parse:zt,addValidate:e=>e.contains!=null,validate:Bt,addReduce:e=>e.contains!=null,reduce:({node:e})=>e.compileSchema({items:{anyOf:[e.contains.schema]}},e.evaluationPath,e.schemaLocation)};function zt(e){let{schema:t,evaluationPath:n}=e;t.contains!=null&&(e.contains=e.compileSchema(t.contains,`${n}/contains`))}function Bt({node:e,data:t,pointer:n,path:r}){let{schema:i}=e;if(!Array.isArray(t))return;if(i.contains===!1)return e.createError(`contains-array-error`,{pointer:n,value:t,schema:i});if(i.contains===!0)return Array.isArray(t)&&t.length===0?e.createError(`contains-any-error`,{pointer:n,value:t,schema:i}):void 0;if(!W(i.contains)||!Array.isArray(t))return;let a=0;for(let i=0;i<t.length;i+=1)$(e.contains,t[i],n,r).length===0&&a++;let o=i.maxContains??1/0,s=i.minContains??1;if(!(o>=a&&s<=a))return o<a?e.createError(`contains-max-error`,{pointer:n,schema:i,delta:a-o,value:t}):s>a?e.createError(`contains-min-error`,{pointer:n,schema:i,delta:s-a,value:t}):e.createError(`contains-error`,{pointer:n,schema:i,value:t})}let Vt={id:`$defs`,keyword:`$defs`,parse:Ht};function Ht(e){e.schema.$defs&&(e.$defs=e.$defs??{},Object.keys(e.schema.$defs).forEach(t=>{e.$defs[t]=e.compileSchema(e.schema.$defs[t],`${e.evaluationPath}/$defs/${Ut(t)}`,`${e.schemaLocation}/$defs/${t}`)})),e.schema.definitions&&(e.$defs=e.$defs??{},Object.keys(e.schema.definitions).forEach(t=>{e.$defs[t]=e.compileSchema(e.schema.definitions[t],`${e.evaluationPath}/definitions/${Ut(t)}`,`${e.schemaLocation}/definitions/${Ut(t)}`)}))}function Ut(e){return e=e.replace(/~/g,`~0`),e=e.replace(/\//g,`~1`),encodeURIComponent(e)}let Wt={id:`dependentRequired`,keyword:`dependentRequired`,parse:Gt,addValidate:e=>W(e.schema.dependentRequired),validate:Kt};function Gt(e){W(e.schema.dependentRequired)&&(e.dependentRequired=e.schema.dependentRequired??{})}function Kt({node:e,data:t,pointer:n=`#`}){if(!W(t))return;let{dependentRequired:r}=e,i=[];return r&&Object.keys(t).forEach(a=>{let o=r[a];if(o!==!0){if(o===!1){i.push(e.createError(`missing-dependency-error`,{pointer:n,schema,value:t}));return}if(Array.isArray(o))for(let r=0,a=o.length;r<a;r+=1)t[o[r]]===void 0&&i.push(e.createError(`missing-dependency-error`,{missingProperty:o[r],pointer:n,schema:e.schema,value:t}))}}),i}let qt={id:`dependentSchemas`,keyword:`dependentSchemas`,parse:Jt,addReduce:e=>e.dependentSchemas!=null,reduce:Yt,addValidate:e=>e.dependentSchemas!=null,validate:Xt};function Jt(e){let{dependentSchemas:t}=e.schema;if(!W(t))return;let n=Object.keys(t);n.length!==0&&(e.dependentSchemas={},n.forEach(n=>{let r=t[n];W(r)?e.dependentSchemas[n]=e.compileSchema(r,`${e.evaluationPath}/dependentSchemas/${n}`,`${e.schemaLocation}/dependentSchemas/${n}`):typeof r==`boolean`&&(e.dependentSchemas[n]=r)}))}function Yt({node:e,data:t}){if(!W(t))return e;let n,{dependentSchemas:r}=e,i=0,a=`${e.schemaLocation}(`;return Object.keys(t).forEach(e=>{r[e]!=null&&(n??={properties:{}},Z(r[e])?n=J(n,r[e].schema):n.properties[e]=r[e],a+=`${i?`,`:``}dependentSchemas/${e}`,i++)}),n==null?e:(n=J(e.schema,n,`dependentSchemas`),e.compileSchema(n,e.evaluationPath,e.schemaLocation,`${a})`))}function Xt({node:e,data:t,pointer:n,path:r}){let{schema:i,dependentSchemas:a}=e;if(!W(t)||a==null)return;let o=[];return Object.keys(t).forEach(s=>{let c=a[s];if(c!==!0){if(c===!1){o.push(e.createError(`missing-dependency-error`,{pointer:n,schema:i,value:t}));return}if(Z(c)){o.push(...$(c,t,n,r));return}}}),o}let Zt={id:`dependencies`,keyword:`dependencies`,parse:Qt,order:-9,addReduce:e=>e.schema.dependencies!=null,reduce:$t,addValidate:e=>e.schema.dependencies!=null,validate:en};function Qt(e){let{dependencies:t}=e.schema;W(t)&&Object.keys(t).forEach(n=>{let r=t[n];W(r)||typeof r==`boolean`?(e.dependentSchemas=e.dependentSchemas??{},e.dependentSchemas[n]=e.compileSchema(r,`${e.evaluationPath}/dependencies/${n}`,`${e.schemaLocation}/dependencies/${n}`)):(e.dependentRequired=e.dependentRequired??{},e.dependentRequired[n]=r)})}function $t({node:e,data:t,key:n,pointer:r,path:i}){if(!W(t)||e.dependentRequired==null&&e.dependentSchemas==null)return e;let a=e.compileSchema(e.schema,e.evaluationPath,e.schemaLocation),o=a.schema.required??[],s=``;return e.dependentRequired&&Object.keys(e.dependentRequired).forEach(n=>{if(!Qe(t,n)&&!o.includes(n)||e.dependentRequired[n]==null)return;o.push(...e.dependentRequired[n]);let r=`dependencies/${n}`;s+=`${s===``?``:`,`}${r}`}),e.dependentSchemas&&Object.keys(e.dependentSchemas).forEach(c=>{if(!Qe(t,c)&&!o.includes(c))return!0;let l=e.dependentSchemas[c];if(!Z(l))return!0;Array.isArray(l.schema.required)&&o.push(...l.schema.required);let u={...l,schema:{...l.schema,required:o}}.reduceNode(t,{key:n,pointer:`${r}/dependencies/${c}`,path:i}).node;a=Y(a,u);let d=u.dynamicId?.replace(e.dynamicId,``)??``,f=d===``?`dependencies/${c}`:d;s+=`${s===``?``:`,`}${f}`}),a===e?e:o.length===0?a:(o=a.schema.required?a.schema.required.concat(...o):o,o=o.filter((e,t,n)=>n.indexOf(e)===t),a=Y(a,a,`dependencies`),a.compileSchema({...a.schema,required:o},a.evaluationPath,a.schemaLocation,`${e.schemaLocation}(${s})`))}function en({node:e,data:t,pointer:n,path:r}){if(!W(t))return;let i;if(e.dependentRequired&&(i=Kt({node:e,data:t,pointer:n,path:r})??[]),e.dependentSchemas){let a=Xt({node:e,data:t,pointer:n,path:r});a&&(i??=[],i.push(...a))}return i}let tn={id:`enum`,keyword:`enum`,addValidate:({schema:e})=>Array.isArray(e.enum),validate:nn};function nn({node:e,data:t,pointer:n=`#`}){let{schema:r}=e,i=U(t);if(i===`object`||i===`array`){let e=JSON.stringify(t);for(let t=0;t<r.enum.length;t+=1)if(JSON.stringify(r.enum[t])===e)return}else if(r.enum.includes(t))return;return e.createError(`enum-error`,{pointer:n,schema:r,value:t,values:r.enum})}let rn={id:`exclusiveMaximum`,keyword:`exclusiveMaximum`,addValidate:({schema:e})=>e.exclusiveMaximum===!0||!isNaN(e.maximum),validate:an};function an({node:e,data:t,pointer:n}){if(typeof t==`number`&&e.schema.exclusiveMaximum&&e.schema.maximum===t)return e.createError(`maximum-error`,{maximum:e.schema.exclusiveMaximum,length:t,pointer:n,schema:e.schema,value:t})}let on={id:`exclusiveMinimum`,keyword:`exclusiveMinimum`,addValidate:({schema:e})=>e.exclusiveMinimum===!0||!isNaN(e.minimum),validate:sn};function sn({node:e,data:t,pointer:n}){if(typeof t==`number`&&e.schema.exclusiveMinimum&&e.schema.minimum===t)return e.createError(`minimum-error`,{minimum:e.schema.exclusiveMinimum,length:t,pointer:n,schema:e.schema,value:t})}let cn={id:`format`,keyword:`format`,addValidate:({schema:e})=>e?.format!=null,validate:ln};function ln(e){let{node:t}=e,n=t.context.formats[t.schema.format];return n?.(e)}let un={id:`items`,keyword:`items`,parse:fn,addResolve:e=>(e.prefixItems||e.items)!=null,resolve:dn,addValidate:({schema:e})=>e.items!=null,validate:pn};function dn({node:e,key:t}){if(e.prefixItems?.[t])return e.prefixItems[t];if(e.items)return e.items}function fn(e){let{schema:t,evaluationPath:n}=e;W(t.items)?e.items=e.compileSchema(t.items,`${n}/items`,`${e.schemaLocation}/items`):Array.isArray(t.items)&&(e.prefixItems=t.items.map((t,r)=>e.compileSchema(t,`${n}/items/${r}`,`${e.schemaLocation}/items/${r}`)))}function pn({node:e,data:t,pointer:n=`#`,path:r}){let{schema:i}=e;if(!Array.isArray(t)||t.length===0)return;if(i.items===!1)return Array.isArray(t)&&t.length===0?void 0:e.createError(`invalid-data-error`,{pointer:n,value:t,schema:i});let a=[];if(e.prefixItems){for(let i=0;i<Math.min(e.prefixItems.length,t.length);i+=1){let o=t[i],s=e.prefixItems[i],c=$(s,o,`${n}/${i}`,r);a.push(...c)}return a}if(e.items){for(let i=0;i<t.length;i+=1){let o=t[i],s=$(e.items,o,`${n}/${i}`,r);s&&a.push(...s)}return a}}let mn={id:`maximum`,keyword:`maximum`,addValidate:({schema:e})=>!isNaN(e.maximum),validate:hn};function hn({node:e,data:t,pointer:n}){if(isNaN(t))return;let{schema:r}=e;if(r.maximum&&r.maximum<t)return e.createError(`maximum-error`,{maximum:r.maximum,length:t,value:t,pointer:n,schema:r});if(r.maximum&&r.exclusiveMaximum===!0&&r.maximum===t)return e.createError(`maximum-error`,{maximum:r.maximum,length:t,pointer:n,schema:r,value:t})}let gn={id:`maxItems`,keyword:`maxItems`,addValidate:({schema:e})=>!isNaN(e.maxItems),validate:_n};function _n({node:e,data: