(n)
| 188 | * @author Feross Aboukhadijeh <https://feross.org> |
| 189 | * @license MIT |
| 190 | */a.exports=function(e){return null!=e&&(t(e)||r(e)||!!e._isBuffer)}},{}],324:[function(e,a){'use strict';var t=Date.prototype.getDay,r=function(e){try{return t.call(e),!0}catch(a){return!1}},n=Object.prototype.toString,i="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;a.exports=function(e){return"object"==typeof e&&null!==e&&(i?r(e):n.call(e)==="[object Date]")}},{}],325:[function(e,a){a.exports=function(e){if(!e)return!1;var a=t.call(e);return"[object Function]"===a||"function"==typeof e&&"[object RegExp]"!==a||"undefined"!=typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)};var t=Object.prototype.toString},{}],326:[function(e,a){'use strict';var t=e("has-symbols")(),r=t&&"symbol"==typeof Symbol.toStringTag,n,i,o,c;if(r){n=Function.call.bind(Object.prototype.hasOwnProperty),i=Function.call.bind(RegExp.prototype.exec),o={};var s=function(){throw o};c={toString:s,valueOf:s},"symbol"==typeof Symbol.toPrimitive&&(c[Symbol.toPrimitive]=s)}var l=Object.prototype.toString,u=Object.getOwnPropertyDescriptor;a.exports=r?function(e){if(!e||"object"!=typeof e)return!1;var a=u(e,"lastIndex"),t=a&&n(a,"value");if(!t)return!1;try{i(e,c)}catch(a){return a===o}}:function(e){return!!(e&&("object"==typeof e||"function"==typeof e))&&l.call(e)==="[object RegExp]"}},{"has-symbols":316}],327:[function(e,a){var t={}.toString;a.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},{}],328:[function(e,a,t){"use strict";var r=e("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=void 0;var n=r(e("@jimp/custom")),i=r(e("@jimp/types")),o=r(e("@jimp/plugins")),c=(0,n["default"])({types:[i["default"]],plugins:[o["default"]]});t["default"]=c,a.exports=t.default},{"@babel/runtime/helpers/interopRequireDefault":12,"@jimp/custom":36,"@jimp/plugins":64,"@jimp/types":67}],329:[function(e,a,r){!function(n,e){"object"==typeof r&&"object"==typeof a?a.exports=e():"function"==typeof W&&W.amd?W([],e):"object"==typeof r?r.joi=e():n.joi=e()}(self,function(){var a=Number.isSafeInteger;return i={1238:a=>{"use strict";a.exports={version:"17.4.2"}},7629:(X,e,t)=>{"use strict";const P=t(375),s=t(8571),K=t(9474),a=t(1687),r=t(8652),A=t(8160),i=t(3292),c=t(6354),n=t(8901),o=t(9708),l=t(6914),u=t(2294),d=t(6133),m=t(1152),g=t(8863),p=t(2036),f={Base:class{constructor(a){this.type=a,this.$_root=null,this._definition={},this._reset()}_reset(){this._ids=new u.Ids,this._preferences=null,this._refs=new d.Manager,this._cache=null,this._valids=null,this._invalids=null,this._flags={},this._rules=[],this._singleRules=new Map,this.$_terms={},this.$_temp={ruleset:null,whens:{}}}describe(){return P("function"==typeof o.describe,"Manifest functionality disabled"),o.describe(this)}allow(...a){return A.verifyFlat(a,"allow"),this._values(a,"_valids")}alter(a){P(a&&"object"==typeof a&&!Array.isArray(a),"Invalid targets argument"),P(!this._inRuleset(),"Cannot set alterations inside a ruleset");const e=this.clone();for(const t in e.$_terms.alterations=e.$_terms.alterations||[],a){const r=a[t];P("function"==typeof r,"Alteration adjuster for",t,"must be a function"),e.$_terms.alterations.push({target:t,adjuster:r})}return e.$_temp.ruleset=!1,e}artifact(a){return P(void 0!==a,"Artifact cannot be undefined"),P(!this._cache,"Cannot set an artifact with a rule cache"),this.$_setFlag("artifact",a)}cast(a){return P(!1===a||"string"==typeof a,"Invalid to value"),P(!1===a||this._definition.cast[a],"Type",this.type,"does not support casting to",a),this.$_setFlag("cast",!1===a?void 0:a)}default(a,e){return this._default("default",a,e)}description(a){return P(a&&"string"==typeof a,"Description must be a non-empty string"),this.$_setFlag("description",a)}empty(a){const r=this.clone();return void 0!==a&&(a=r.$_compile(a,{override:!1})),r.$_setFlag("empty",a,{clone:!1})}error(a){return P(a,"Missing error"),P(a instanceof Error||"function"==typeof a,"Must provide a valid Error object or a function"),this.$_setFlag("error",a)}example(a,e={}){return P(void 0!==a,"Missing example"),A.assertOptions(e,["override"]),this._inner("examples",a,{single:!0,override:e.override})}external(a,r){return"object"==typeof a&&(P(!r,"Cannot combine options with description"),r=a.description,a=a.method),P("function"==typeof a,"Method must be a function"),P(void 0===r||r&&"string"==typeof r,"Description must be a non-empty string"),this._inner("externals",{method:a,description:r},{single:!0})}failover(a,e){return this._default("failover",a,e)}forbidden(){return this.presence("forbidden")}id(a){return a?(P("string"==typeof a,"id must be a non-empty string"),P(/^[^\.]+$/.test(a),"id cannot contain period character"),this.$_setFlag("id",a)):this.$_setFlag("id",void 0)}invalid(...a){return this._values(a,"_invalids")}label(a){return P(a&&"string"==typeof a,"Label name must be a non-empty string"),this.$_setFlag("label",a)}meta(a){return P(void 0!==a,"Meta cannot be undefined"),this._inner("metas",a,{single:!0})}note(...a){P(a.length,"Missing notes");for(const e of a)P(e&&"string"==typeof e,"Notes must be non-empty strings");return this._inner("notes",a)}only(a=!0){return P("boolean"==typeof a,"Invalid mode:",a),this.$_setFlag("only",a)}optional(){return this.presence("optional")}prefs(a){P(a,"Missing preferences"),P(void 0===a.context,"Cannot override context"),P(void 0===a.externals,"Cannot override externals"),P(void 0===a.warnings,"Cannot override warnings"),P(void 0===a.debug,"Cannot override debug"),A.checkPreferences(a);const e=this.clone();return e._preferences=A.preferences(e._preferences,a),e}presence(a){return P(["optional","required","forbidden"].includes(a),"Unknown presence mode",a),this.$_setFlag("presence",a)}raw(a=!0){return this.$_setFlag("result",a?"raw":void 0)}result(a){return P(["raw","strip"].includes(a),"Unknown result mode",a),this.$_setFlag("result",a)}required(){return this.presence("required")}strict(a){const e=this.clone();return e._preferences=A.preferences(e._preferences,{convert:void 0!==a&&!a}),e}strip(a=!0){return this.$_setFlag("result",a?"strip":void 0)}tag(...a){P(a.length,"Missing tags");for(const e of a)P(e&&"string"==typeof e,"Tags must be non-empty strings");return this._inner("tags",a)}unit(a){return P(a&&"string"==typeof a,"Unit name must be a non-empty string"),this.$_setFlag("unit",a)}valid(...a){A.verifyFlat(a,"valid");const e=this.allow(...a);return e.$_setFlag("only",!!e._valids,{clone:!1}),e}when(a,e){const o=this.clone();o.$_terms.whens||(o.$_terms.whens=[]);const t=i.when(o,a,e);if(!["any","link"].includes(o.type)){const a=t.is?[t]:t.switch;for(const e of a)P(!e.then||"any"===e.then.type||e.then.type===o.type,"Cannot combine",o.type,"with",e.then&&e.then.type),P(!e.otherwise||"any"===e.otherwise.type||e.otherwise.type===o.type,"Cannot combine",o.type,"with",e.otherwise&&e.otherwise.type)}return o.$_terms.whens.push(t),o.$_mutateRebuild()}cache(a){P(!this._inRuleset(),"Cannot set caching inside a ruleset"),P(!this._cache,"Cannot override schema cache"),P(void 0===this._flags.artifact,"Cannot cache a rule with an artifact");const e=this.clone();return e._cache=a||r.provider.provision(),e.$_temp.ruleset=!1,e}clone(){const a=Object.create(Object.getPrototypeOf(this));return this._assign(a)}concat(n){P(A.isSchema(n),"Invalid schema object"),P("any"===this.type||"any"===n.type||n.type===this.type,"Cannot merge type",this.type,"with another type:",n.type),P(!this._inRuleset(),"Cannot concatenate onto a schema with open ruleset"),P(!n._inRuleset(),"Cannot concatenate a schema with open ruleset");let i=this.clone();if("any"===this.type&&"any"!==n.type){const a=n.clone();for(const t of Object.keys(i))"type"!==t&&(a[t]=i[t]);i=a}i._ids.concat(n._ids),i._refs.register(n,d.toSibling),i._preferences=i._preferences?A.preferences(i._preferences,n._preferences):n._preferences,i._valids=p.merge(i._valids,n._valids,n._invalids),i._invalids=p.merge(i._invalids,n._invalids,n._valids);for(const a of n._singleRules.keys())i._singleRules.has(a)&&(i._rules=i._rules.filter(t=>t.keep||t.name!==a),i._singleRules.delete(a));for(const e of n._rules)n._definition.rules[e.method].multi||i._singleRules.set(e.name,e),i._rules.push(e);if(i._flags.empty&&n._flags.empty){i._flags.empty=i._flags.empty.concat(n._flags.empty);const e=Object.assign({},n._flags);delete e.empty,a(i._flags,e)}else if(n._flags.empty){i._flags.empty=n._flags.empty;const e=Object.assign({},n._flags);delete e.empty,a(i._flags,e)}else a(i._flags,n._flags);for(const e in n.$_terms){const a=n.$_terms[e];a?i.$_terms[e]?i.$_terms[e]=i.$_terms[e].concat(a):i.$_terms[e]=a.slice():i.$_terms[e]||(i.$_terms[e]=a)}return this.$_root._tracer&&this.$_root._tracer._combine(i,[this,n]),i.$_mutateRebuild()}extend(a){return P(!a.base,"Cannot extend type with another base"),n.type(this,a)}extract(a){return a=Array.isArray(a)?a:a.split("."),this._ids.reach(a)}fork(a,e){P(!this._inRuleset(),"Cannot fork inside a ruleset");let t=this;for(let r of[].concat(a))r=Array.isArray(r)?r:r.split("."),t=t._ids.fork(r,e,t);return t.$_temp.ruleset=!1,t}rule(o){const e=this._definition;A.assertOptions(o,Object.keys(e.modifiers)),P(!1!==this.$_temp.ruleset,"Cannot apply rules to empty ruleset or the last rule added does not support rule properties");const t=null===this.$_temp.ruleset?this._rules.length-1:this.$_temp.ruleset;P(0<=t&&t<this._rules.length,"Cannot apply rules to empty ruleset");const n=this.clone();for(let a=t;a<n._rules.length;++a){const t=n._rules[a],r=s(t);for(const a in o)e.modifiers[a](r,o[a]),P(r.name===t.name,"Cannot change rule name");n._rules[a]=r,n._singleRules.get(r.name)===t&&n._singleRules.set(r.name,r)}return n.$_temp.ruleset=!1,n.$_mutateRebuild()}get ruleset(){P(!this._inRuleset(),"Cannot start a new ruleset without closing the previous one");const a=this.clone();return a.$_temp.ruleset=a._rules.length,a}get $(){return this.ruleset}tailor(a){a=[].concat(a),P(!this._inRuleset(),"Cannot tailor inside a ruleset");let i=this;if(this.$_terms.alterations)for(const{target:e,adjuster:t}of this.$_terms.alterations)a.includes(e)&&(i=t(i),P(A.isSchema(i),"Alteration adjuster for",e,"failed to return a schema object"));return i=i.$_modify({each:e=>e.tailor(a),ref:!1}),i.$_temp.ruleset=!1,i.$_mutateRebuild()}tracer(){return m.location?m.location(this):this}validate(a,e){return g.entry(a,this,e)}validateAsync(a,e){return g.entryAsync(a,this,e)}$_addRule(i){for(const e in"string"==typeof i&&(i={name:i}),P(i&&"object"==typeof i,"Invalid options"),P(i.name&&"string"==typeof i.name,"Invalid rule name"),i)P("_"!==e[0],"Cannot set private rule properties");const c=Object.assign({},i);c._resolve=[],c.method=c.method||c.name;const t=this._definition.rules[c.method],r=c.args;P(t,"Unknown rule",c.method);const n=this.clone();if(r)for(const a in P(1===Object.keys(r).length||Object.keys(r).length===this._definition.rules[c.name].args.length,"Invalid rule definition for",this.type,c.name),r){let e=r[a];if(void 0!==e){if(t.argsByName){const o=t.argsByName.get(a);if(o.ref&&A.isResolvable(e))c._resolve.push(a),n.$_mutateRegister(e);else if(o.normalize&&(e=o.normalize(e),r[a]=e),o.assert){const r=A.validateArg(e,a,o);P(!r,r,"or reference")}}r[a]=e}else delete r[a]}return t.multi||(n._ruleRemove(c.name,{clone:!1}),n._singleRules.set(c.name,c)),!1===n.$_temp.ruleset&&(n.$_temp.ruleset=null),t.priority?n._rules.unshift(c):n._rules.push(c),n}$_compile(a,e){return i.schema(this.$_root,a,e)}$_createError(u,e,t,r,s,n={}){const a=!1===n.flags?{}:this._flags,o=n.messages?l.merge(this._definition.messages,n.messages):this._definition.messages;return new c.Report(u,e,t,a,o,r,s)}$_getFlag(a){return this._flags[a]}$_getRule(a){return this._singleRules.get(a)}$_mapLabels(a){return a=Array.isArray(a)?a:a.split("."),this._ids.labels(a)}$_match(a,e,t,i){(t=Object.assign({},t)).abortEarly=!0,t._externals=!1,e.snapshot();const o=!g.validate(a,this,e,t,i).errors;return e.restore(),o}$_modify(a){return A.assertOptions(a,["each","once","ref","schema"]),u.schema(this,a)||this}$_mutateRebuild(){return P(!this._inRuleset(),"Cannot add this rule inside a ruleset"),this._refs.reset(),this._ids.reset(),this.$_modify({each:(i,{source:e,name:t,path:r,key:o})=>{const n=this._definition[e][t]&&this._definition[e][t].register;!1!==n&&this.$_mutateRegister(i,{family:n,key:o})}}),this._definition.rebuild&&this._definition.rebuild(this),this.$_temp.ruleset=!1,this}$_mutateRegister(a,{family:e,key:t}={}){this._refs.register(a,e),this._ids.register(a,{key:t})}$_property(a){return this._definition.properties[a]}$_reach(a){return this._ids.reach(a)}$_rootReferences(){return this._refs.roots()}$_setFlag(a,e,i={}){P("_"===a[0]||!this._inRuleset(),"Cannot set flag inside a ruleset");const r=this._definition.flags[a]||{};if(K(e,r.default)&&(e=void 0),K(e,this._flags[a]))return this;const n=!1===i.clone?this:this.clone();return void 0===e?delete n._flags[a]:(n._flags[a]=e,n.$_mutateRegister(e)),"_"!==a[0]&&(n.$_temp.ruleset=!1),n}$_parent(a,...e){return this[a][A.symbols.parent].call(this,...e)}$_validate(a,e,t){return g.validate(a,this,e,t)}_assign(a){for(const e in a.type=this.type,a.$_root=this.$_root,a.$_temp=Object.assign({},this.$_temp),a.$_temp.whens={},a._ids=this._ids.clone(),a._preferences=this._preferences,a._valids=this._valids&&this._valids.clone(),a._invalids=this._invalids&&this._invalids.clone(),a._rules=this._rules.slice(),a._singleRules=s(this._singleRules,{shallow:!0}),a._refs=this._refs.clone(),a._flags=Object.assign({},this._flags),a._cache=null,a.$_terms={},this.$_terms)a.$_terms[e]=this.$_terms[e]?this.$_terms[e].slice():null;for(const e in a.$_super={},this.$_super)a.$_super[e]=this._super[e].bind(a);return a}_bare(){const a=this.clone();a._reset();const e=a._definition.terms;for(const t in e){const r=e[t];a.$_terms[t]=r.init}return a.$_mutateRebuild()}_default(a,e,n={}){return A.assertOptions(n,"literal"),P(void 0!==e,"Missing",a,"value"),P("function"==typeof e||!n.literal,"Only function value supports literal option"),"function"==typeof e&&n.literal&&(e={[A.symbols.literal]:!0,literal:e}),this.$_setFlag(a,e)}_generate(u,e,t){if(!this.$_terms.whens)return{schema:this};const r=[],s=[];for(let n=0;n<this.$_terms.whens.length;++n){const a=this.$_terms.whens[n];if(a.concat){r.push(a.concat),s.push("".concat(n,".concat"));continue}const o=a.ref?a.ref.resolve(u,e,t):u,i=a.is?[a]:a.switch,l=s.length;for(let l=0;l<i.length;++l){const{is:c,then:d,otherwise:X}=i[l],m="".concat(n).concat(a.switch?"."+l:"");if(c.$_match(o,e.nest(c,"".concat(m,".is")),t)){if(d){const n=e.localize([...e.path,"".concat(m,".then")],e.ancestors,e.schemas),{schema:a,id:o}=d._generate(u,n,t);r.push(a),s.push("".concat(m,".then").concat(o?"(".concat(o,")"):""));break}}else if(X){const n=e.localize([...e.path,"".concat(m,".otherwise")],e.ancestors,e.schemas),{schema:a,id:o}=X._generate(u,n,t);r.push(a),s.push("".concat(m,".otherwise").concat(o?"(".concat(o,")"):""));break}}if(a.break&&s.length>l)break}const n=s.join(", ");if(e.mainstay.tracer.debug(e,"rule","when",n),!n)return{schema:this};if(!e.mainstay.tracer.active&&this.$_temp.whens[n])return{schema:this.$_temp.whens[n],id:n};let a=this;this._definition.generate&&(a=this._definition.generate(this,u,e,t));for(const n of r)a=a.concat(n);return this.$_root._tracer&&this.$_root._tracer._combine(a,[this,...r]),this.$_temp.whens[n]=a,{schema:a,id:n}}_inner(a,e,t={}){P(!this._inRuleset(),"Cannot set ".concat(a," inside a ruleset"));const r=this.clone();return r.$_terms[a]&&!t.override||(r.$_terms[a]=[]),t.single?r.$_terms[a].push(e):r.$_terms[a].push(...e),r.$_temp.ruleset=!1,r}_inRuleset(){return null!==this.$_temp.ruleset&&!1!==this.$_temp.ruleset}_ruleRemove(a,e={}){if(!this._singleRules.has(a))return this;const i=!1===e.clone?this:this.clone();i._singleRules.delete(a);const r=[];for(let o=0;o<i._rules.length;++o){const e=i._rules[o];e.name!==a||e.keep?r.push(e):i._inRuleset()&&o<i.$_temp.ruleset&&--i.$_temp.ruleset}return i._rules=r,i}_values(a,i){A.verifyFlat(a,i.slice(1,-1));const t=this.clone(),r=a[0]===A.symbols.override;if(r&&(a=a.slice(1)),!t[i]&&a.length?t[i]=new p:r&&(t[i]=a.length?new p:null,t.$_mutateRebuild()),!t[i])return t;r&&t[i].override();for(const r of a){P(void 0!==r,"Cannot call allow/valid/invalid with undefined"),P(r!==A.symbols.override,"Override must be the first value");const a="_invalids"===i?"_valids":"_invalids";t[a]&&(t[a].remove(r),t[a].length||(P("_valids"===i||!t._flags.only,"Setting invalid value",r,"leaves schema rejecting all values due to previous valid rule"),t[a]=null)),t[i].add(r,t._refs)}return t}}};f.Base.prototype[A.symbols.any]={version:A.version,compile:i.compile,root:"$_root"},f.Base.prototype.isImmutable=!0,f.Base.prototype.deny=f.Base.prototype.invalid,f.Base.prototype.disallow=f.Base.prototype.invalid,f.Base.prototype.equal=f.Base.prototype.valid,f.Base.prototype.exist=f.Base.prototype.required,f.Base.prototype.not=f.Base.prototype.invalid,f.Base.prototype.options=f.Base.prototype.prefs,f.Base.prototype.preferences=f.Base.prototype.prefs,X.exports=new f.Base},8652:(i,e,t)=>{"use strict";const r=t(375),c=t(8571),n=t(8160),a={max:1e3,supported:new Set(["undefined","boolean","number","string"])};e.provider={provision:t=>new a.Cache(t)},a.Cache=class{constructor(t={}){n.assertOptions(t,["max"]),r(void 0===t.max||t.max&&0<t.max&&isFinite(t.max),"Invalid max cache size"),this._max=t.max||a.max,this._map=new Map,this._list=new a.List}get length(){return this._map.size}set(n,e){if(null!==n&&!a.supported.has(typeof n))return;let t=this._map.get(n);return t?(t.value=e,void this._list.first(t)):void(t=this._list.unshift({key:n,value:e}),this._map.set(n,t),this._compact())}get(a){const e=this._map.get(a);if(e)return this._list.first(e),c(e.value)}_compact(){if(this._map.size>this._max){const a=this._list.pop();this._map.delete(a.key)}}},a.List=class{constructor(){this.tail=null,this.head=null}unshift(a){return a.next=null,a.prev=this.head,this.head&&(this.head.next=a),this.head=a,this.tail||(this.tail=a),a}first(a){a!==this.head&&(this._remove(a),this.unshift(a))}pop(){return this._remove(this.tail)}_remove(a){const{next:e,prev:t}=a;return e.prev=t,t&&(t.next=e),a===this.tail&&(this.tail=e),a.prev=null,a.next=null,a}}},8160:(c,u,d)=>{"use strict";const X=d(375),r=d(7916),e=d(1238);let t,n;const s={isoDate:/^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/};u.version=e.version,u.defaults={abortEarly:!0,allowUnknown:!1,artifacts:!1,cache:!0,context:null,convert:!0,dateFormat:"iso",errors:{escapeHtml:!1,label:"path",language:null,render:!0,stack:!1,wrap:{label:"\"",array:"[]"}},externals:!0,messages:{},nonEnumerables:!1,noDefaults:!1,presence:"optional",skipFunctions:!1,stripUnknown:!1,warnings:!1},u.symbols={any:Symbol.for("@hapi/joi/schema"),arraySingle:Symbol("arraySingle"),deepDefault:Symbol("deepDefault"),errors:Symbol("errors"),literal:Symbol("literal"),override:Symbol("override"),parent:Symbol("parent"),prefs:Symbol("prefs"),ref:Symbol("ref"),template:Symbol("template"),values:Symbol("values")},u.assertOptions=function(a,i,e="Options"){X(a&&"object"==typeof a&&!Array.isArray(a),"Options must be of type object");const t=Object.keys(a).filter(a=>!i.includes(a));X(0===t.length,"".concat(e," contain unknown keys: ").concat(t))},u.checkPreferences=function(a){n=n||d(3378);const e=n.preferences.validate(a);if(e.error)throw new r([e.error.details[0].message])},u.compare=function(a,e,t){return"="===t?a===e:">"===t?a>e:"<"===t?a<e:">="===t?a>=e:"<="===t?a<=e:void 0},u.default=function(a,e){return void 0===a?e:a},u.isIsoDate=function(a){return s.isoDate.test(a)},u.isNumber=function(a){return"number"==typeof a&&!isNaN(a)},u.isResolvable=function(a){return!!a&&(a[u.symbols.ref]||a[u.symbols.template])},u.isSchema=function(a,e={}){const t=a&&a[u.symbols.any];return!!t&&(X(e.legacy||t.version===u.version,"Cannot mix different versions of joi schemas"),!0)},u.isValues=function(a){return a[u.symbols.values]},u.limit=function(t){return a(t)&&0<=t},u.preferences=function(a,r){t=t||d(6914),a=a||{},r=r||{};const i=Object.assign({},a,r);return r.errors&&a.errors&&(i.errors=Object.assign({},a.errors,r.errors),i.errors.wrap=Object.assign({},a.errors.wrap,r.errors.wrap)),r.messages&&(i.messages=t.compile(r.messages,a.messages)),delete i[u.symbols.prefs],i},u.tryWithPath=function(a,n,t={}){try{return a()}catch(a){throw a.path=void 0===a.path?n:n+"."+a.path,t.append&&(a.message="".concat(a.message," (").concat(a.path,")")),a}},u.validateArg=function(a,e,{assert:r,message:t}){if(u.isSchema(r)){const e=r.validate(a);return e.error?e.error.message:void 0}return r(a)?void 0:e?"".concat(e," ").concat(t):t},u.verifyFlat=function(a,e){for(const t of a)X(!Array.isArray(t),"Method no longer accepts array arguments:",e)}},3292:(i,u,e)=>{"use strict";const d=e(375),s=e(8160),n=e(6133),X={};u.schema=function(a,e,t={}){s.assertOptions(t,["appendPath","override"]);try{return X.schema(a,e,t)}catch(a){throw t.appendPath&&void 0!==a.path&&(a.message="".concat(a.message," (").concat(a.path,")")),a}},X.schema=function(n,e,i){d(void 0!==e,"Invalid undefined schema"),Array.isArray(e)&&(d(e.length,"Invalid empty array schema"),1===e.length&&(e=e[0]));const r=(e,...a)=>!1===i.override?e.valid(...a):e.valid(n.override,...a);if(X.simple(e))return r(n,e);if("function"==typeof e)return n.custom(e);if(d("object"==typeof e,"Invalid schema content:",typeof e),s.isResolvable(e))return r(n,e);if(s.isSchema(e))return e;if(Array.isArray(e)){for(const a of e)if(!X.simple(a))return n.alternatives().try(...e);return r(n,...e)}return e instanceof RegExp?n.string().regex(e):e instanceof Date?r(n.date(),e):(d(Object.getPrototypeOf(e)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),n.object().keys(e))},u.ref=function(a,e){return n.isRef(a)?a:n.create(a,e)},u.compile=function(t,e,r={}){s.assertOptions(r,["legacy"]);const a=e&&e[s.symbols.any];if(a)return d(r.legacy||a.version===s.version,"Cannot mix different versions of joi schemas:",a.version,s.version),e;if("object"!=typeof e||!r.legacy)return u.schema(t,e,{appendPath:!0});const n=X.walk(e);return n?n.compile(n.root,e):u.schema(t,e,{appendPath:!0})},X.walk=function(a){if("object"!=typeof a)return null;if(Array.isArray(a)){for(const r of a){const a=X.walk(r);if(a)return a}return null}const e=a[s.symbols.any];if(e)return{root:a[e.root],compile:e.compile};for(const e in d(Object.getPrototypeOf(a)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),a){const t=X.walk(a[e]);if(t)return t}return null},X.simple=function(a){return null===a||["boolean","string","number"].includes(typeof a)},u.when=function(a,e,m){if(void 0===m&&(d(e&&"object"==typeof e,"Missing options"),m=e,e=n.create(".")),Array.isArray(m)&&(m={switch:m}),s.assertOptions(m,["is","not","then","otherwise","switch","break"]),s.isSchema(e))return d(void 0===m.is,"\"is\" can not be used with a schema condition"),d(void 0===m.not,"\"not\" can not be used with a schema condition"),d(void 0===m.switch,"\"switch\" can not be used with a schema condition"),X.condition(a,{is:e,then:m.then,otherwise:m.otherwise,break:m.break});if(d(n.isRef(e)||"string"==typeof e,"Invalid condition:",e),d(void 0===m.not||void 0===m.is,"Cannot combine \"is\" with \"not\""),void 0===m.switch){let t=m;void 0!==m.not&&(t={is:m.not,then:m.otherwise,otherwise:m.then,break:m.break});let r=void 0===t.is?a.$_root.invalid(null,!1,0,"").required():a.$_compile(t.is);return d(void 0!==t.then||void 0!==t.otherwise,"options must have at least one of \"then\", \"otherwise\", or \"switch\""),d(void 0===t.break||void 0===t.then||void 0===t.otherwise,"Cannot specify then, otherwise, and break all together"),void 0===m.is||n.isRef(m.is)||s.isSchema(m.is)||(r=r.required()),X.condition(a,{ref:u.ref(e),is:r,then:t.then,otherwise:t.otherwise,break:t.break})}d(Array.isArray(m.switch),"\"switch\" must be an array"),d(void 0===m.is,"Cannot combine \"switch\" with \"is\""),d(void 0===m.not,"Cannot combine \"switch\" with \"not\""),d(void 0===m.then,"Cannot combine \"switch\" with \"then\"");const P={ref:u.ref(e),switch:[],break:m.break};for(let i=0;i<m.switch.length;++i){const e=m.switch[i],t=i==m.switch.length-1;s.assertOptions(e,t?["is","then","otherwise"]:["is","then"]),d(void 0!==e.is,"Switch statement missing \"is\""),d(void 0!==e.then,"Switch statement missing \"then\"");const r={is:a.$_compile(e.is),then:a.$_compile(e.then)};if(n.isRef(e.is)||s.isSchema(e.is)||(r.is=r.is.required()),t){d(void 0===m.otherwise||void 0===e.otherwise,"Cannot specify \"otherwise\" inside and outside a \"switch\"");const n=void 0===m.otherwise?e.otherwise:m.otherwise;void 0!==n&&(d(void 0===P.break,"Cannot specify both otherwise and break"),r.otherwise=a.$_compile(n))}P.switch.push(r)}return P},X.condition=function(a,e){for(const t of["then","otherwise"])void 0===e[t]?delete e[t]:e[t]=a.$_compile(e[t]);return e}},6354:(i,c,e)=>{"use strict";const t=e(5688),l=e(8160),n=e(3328);c.Report=class{constructor(t,e,r,s,n,a,o){if(this.code=t,this.flags=s,this.messages=n,this.path=a.path,this.prefs=o,this.state=a,this.value=e,this.message=null,this.template=null,this.local=r||{},this.local.label=c.label(this.flags,this.state,this.prefs,this.messages),void 0===this.value||this.local.hasOwnProperty("value")||(this.local.value=this.value),this.path.length){const a=this.path[this.path.length-1];"object"!=typeof a&&(this.local.key=a)}}_setTemplate(a){if(this.template=a,!this.flags.label&&0===this.path.length){const a=this._template(this.template,"root");a&&(this.local.label=a)}}toString(){if(this.message)return this.message;const a=this.code;if(!this.prefs.errors.render)return this.code;const e=this._template(this.template)||this._template(this.prefs.messages)||this._template(this.messages);return void 0===e?"Error code \"".concat(a,"\" is not defined, your custom type is missing the correct messages definition"):(this.message=e.render(this.value,this.state,this.prefs,this.local,{errors:this.prefs.errors,messages:[this.prefs.messages,this.messages]}),this.prefs.errors.label||(this.message=this.message.replace(/^"" /,"").trim()),this.message)}_template(a,e){return c.template(this.value,a,e||this.code,this.state,this.prefs)}},c.path=function(a){let e="";for(const t of a)"object"!=typeof t&&("string"==typeof t?(e&&(e+="."),e+=t):e+="[".concat(t,"]"));return e},c.template=function(a,e,t,r,c){if(!e)return;if(n.isTemplate(e))return"root"===t?null:e;let o=c.errors.language;return l.isResolvable(o)&&(o=o.resolve(a,r,c)),o&&e[o]&&void 0!==e[o][t]?e[o][t]:e[t]},c.label=function(t,e,r,i){if(t.label)return t.label;if(!r.errors.label)return"";let n=e.path;return"key"===r.errors.label&&1<e.path.length&&(n=e.path.slice(-1)),c.path(n)||c.template(null,r.messages,"root",e,r)||i&&c.template(null,i,"root",e,r)||"value"},c.process=function(t,e,r){if(!t)return null;const{override:s,message:n,details:a}=c.details(t);if(s)return s;if(r.errors.stack)return new c.ValidationError(n,a,e);const o=Error.stackTraceLimit;Error.stackTraceLimit=0;const i=new c.ValidationError(n,a,e);return Error.stackTraceLimit=o,i},c.details=function(a,i={}){let t=[];const o=[];for(const r of a){if(r instanceof Error){if(!1!==i.override)return{override:r};const a=r.toString();t.push(a),o.push({message:a,type:"override",context:{error:r}});continue}const a=r.toString();t.push(a),o.push({message:a,path:r.path.filter(a=>"object"!=typeof a),type:r.code,context:r.local})}return 1<t.length&&(t=[...new Set(t)]),{message:t.join(". "),details:o}},c.ValidationError=class extends Error{constructor(a,e,t){super(a),this._original=t,this.details=e}static isError(a){return a instanceof c.ValidationError}},c.ValidationError.prototype.isJoi=!0,c.ValidationError.prototype.name="ValidationError",c.ValidationError.prototype.annotate=t.error},8901:(c,e,t)=>{"use strict";const X=t(375),s=t(8571),n=t(8160),a=t(6914),o={};e.type=function(i,e){const t=Object.getPrototypeOf(i),P=s(t),r=i._assign(Object.create(P)),c=Object.assign({},e);delete c.base,P._definition=c;const l=t._definition||{};c.messages=a.merge(l.messages,c.messages),c.properties=Object.assign({},l.properties,c.properties),r.type=c.type,c.flags=Object.assign({},l.flags,c.flags);const u=Object.assign({},l.terms);if(c.terms)for(const a in c.terms){const e=c.terms[a];X(void 0===r.$_terms[a],"Invalid term override for",c.type,a),r.$_terms[a]=e.init,u[a]=e}c.terms=u,c.args||(c.args=l.args),c.prepare=o.prepare(c.prepare,l.prepare),c.coerce&&("function"==typeof c.coerce&&(c.coerce={method:c.coerce}),c.coerce.from&&!Array.isArray(c.coerce.from)&&(c.coerce={method:c.coerce.method,from:[].concat(c.coerce.from)})),c.coerce=o.coerce(c.coerce,l.coerce),c.validate=o.validate(c.validate,l.validate);const m=Object.assign({},l.rules);if(c.rules)for(const a in c.rules){const i=c.rules[a];X("object"==typeof i,"Invalid rule definition for",c.type,a);let e=i.method;if(void 0===e&&(e=function(){return this.$_addRule(a)}),e&&(X(!P[a],"Rule conflict in",c.type,a),P[a]=e),X(!m[a],"Rule conflict in",c.type,a),m[a]=i,i.alias){const a=[].concat(i.alias);for(const e of a)P[e]=i.method}i.args&&(i.argsByName=new Map,i.args=i.args.map(a=>("string"==typeof a&&(a={name:a}),X(!i.argsByName.has(a.name),"Duplicated argument name",a.name),n.isSchema(a.assert)&&(a.assert=a.assert.strict().label(a.name)),i.argsByName.set(a.name,a),a)))}c.rules=m;const K=Object.assign({},l.modifiers);if(c.modifiers)for(const a in c.modifiers){X(!P[a],"Rule conflict in",c.type,a);const e=c.modifiers[a];X("function"==typeof e,"Invalid modifier definition for",c.type,a);P[a]=function(e){return this.rule({[a]:e})},K[a]=e}if(c.modifiers=K,c.overrides){for(const a in P._super=t,r.$_super={},c.overrides)X(t[a],"Cannot override missing",a),c.overrides[a][n.symbols.parent]=t[a],r.$_super[a]=t[a].bind(r);Object.assign(P,c.overrides)}c.cast=Object.assign({},l.cast,c.cast);const d=Object.assign({},l.manifest,c.manifest);return d.build=o.build(c.manifest&&c.manifest.build,l.manifest&&l.manifest.build),c.manifest=d,c.rebuild=o.rebuild(c.rebuild,l.rebuild),r},o.build=function(a,e){return a&&e?function(t,r){return e(a(t,r),r)}:a||e},o.coerce=function(a,e){return a&&e?{from:a.from&&e.from?[...new Set([...a.from,...e.from])]:null,method(i,o){let t;if((!e.from||e.from.includes(typeof i))&&(t=e.method(i,o),t)){if(t.errors||void 0===t.value)return t;i=t.value}if(!a.from||a.from.includes(typeof i)){const e=a.method(i,o);if(e)return e}return t}}:a||e},o.prepare=function(a,e){return a&&e?function(t,i){const o=a(t,i);if(o){if(o.errors||void 0===o.value)return o;t=o.value}return e(t,i)||o}:a||e},o.rebuild=function(a,e){return a&&e?function(t){e(t),a(t)}:a||e},o.validate=function(a,e){return a&&e?function(t,i){const o=e(t,i);if(o){if(o.errors&&(!Array.isArray(o.errors)||o.errors.length))return o;t=o.value}return a(t,i)||o}:a||e}},5107:(X,e,P)=>{"use strict";const K=P(375),g=P(8571),t=P(8652),y=P(8160),a=P(3292),n=P(6354),i=P(8901),r=P(9708),o=P(6133),c=P(3328),s=P(1152);let l;const u={types:{alternatives:P(4946),any:P(8068),array:P(546),boolean:P(4937),date:P(7500),function:P(390),link:P(8785),number:P(3832),object:P(8966),string:P(7417),symbol:P(8826)},aliases:{alt:"alternatives",bool:"boolean",func:"function"},root:function(){const a={_types:new Set(Object.keys(u.types))};for(const r of a._types)a[r]=function(...a){return K(!a.length||["alternatives","link","object"].includes(r),"The",r,"type does not allow arguments"),u.generate(this,u.types[r],a)};for(const r of["allow","custom","disallow","equal","exist","forbidden","invalid","not","only","optional","options","prefs","preferences","required","strip","valid","when"])a[r]=function(...a){return this.any()[r](...a)};for(const e in Object.assign(a,u.methods),u.aliases){const t=u.aliases[e];a[e]=a[t]}return a.x=a.expression,s.setup&&s.setup(a),a}};u.methods={ValidationError:n.ValidationError,version:y.version,cache:t.provider,assert(a,e,...t){u.assert(a,e,!0,t)},attempt:(a,e,...t)=>u.assert(a,e,!1,t),build(a){return K("function"==typeof r.build,"Manifest functionality disabled"),r.build(this,a)},checkPreferences(a){y.checkPreferences(a)},compile(r,e){return a.compile(this,r,e)},defaults(a){K("function"==typeof a,"modifier must be a function");const e=Object.assign({},this);for(const t of e._types){const r=a(e[t]());K(y.isSchema(r),"modifier must return a valid schema object"),e[t]=function(...a){return u.generate(this,r,a)}}return e},expression:(...a)=>new c(...a),extend(...a){y.verifyFlat(a,"extend"),l=l||P(3378),K(a.length,"You need to provide at least one extension"),this.assert(a,l.extensions);const o=Object.assign({},this);o._types=new Set(o._types);for(let t of a){"function"==typeof t&&(t=t(o)),this.assert(t,l.extension);const a=u.expandExtension(t,o);for(const t of a){K(void 0===o[t.type]||o._types.has(t.type),"Cannot override name",t.type);const a=t.base||this.any(),r=i.type(a,t);o._types.add(t.type),o[t.type]=function(...a){return u.generate(this,r,a)}}}return o},isError:n.ValidationError.isError,isExpression:c.isTemplate,isRef:o.isRef,isSchema:y.isSchema,in:(...a)=>o.in(...a),override:y.symbols.override,ref:(...a)=>o.create(...a),types(){const a={};for(const e of this._types)a[e]=this[e]();for(const e in u.aliases)a[e]=this[e]();return a}},u.assert=function(o,e,t,r){const s=r[0]instanceof Error||"string"==typeof r[0]?r[0]:null,a=s?r[1]:r[0],i=e.validate(o,y.preferences({errors:{stack:!0}},a||{}));let c=i.error;if(!c)return i.value;if(s instanceof Error)throw s;const l=t&&"function"==typeof c.annotate?c.annotate():c.message;throw 0==c instanceof n.ValidationError&&(c=g(c)),c.message=s?"".concat(s," ").concat(l):l,c},u.generate=function(a,e,t){return K(a,"Must be invoked on a Joi instance."),e.$_root=a,e._definition.args&&t.length?e._definition.args(e,...t):e},u.expandExtension=function(a,e){if("string"==typeof a.type)return[a];const t=[];for(const r of e._types)if(a.type.test(r)){const i=Object.assign({},a);i.type=r,i.base=e[r](),t.push(i)}return t},X.exports=u.root()},6914:(i,c,e)=>{"use strict";const l=e(375),s=e(8571),u=e(3328);c.compile=function(a,i){if("string"==typeof a)return l(!i,"Cannot set single message string"),new u(a);if(u.isTemplate(a))return l(!i,"Cannot set single message template"),a;for(let t in l("object"==typeof a&&!Array.isArray(a),"Invalid message options"),i=i?s(i):{},a){const r=a[t];if("root"===t||u.isTemplate(r)){i[t]=r;continue}if("string"==typeof r){i[t]=new u(r);continue}l("object"==typeof r&&!Array.isArray(r),"Invalid message for",t);const n=t;for(t in i[n]=i[n]||{},r){const a=r[t];"root"===t||u.isTemplate(a)?i[n][t]=a:(l("string"==typeof a,"Invalid message for",t,"in",n),i[n][t]=new u(a))}}return i},c.decompile=function(a){const i={};for(let t in a){const r=a[t];if("root"===t){i[t]=r;continue}if(u.isTemplate(r)){i[t]=r.describe({compact:!0});continue}const o=t;for(t in i[o]={},r){const a=r[t];i[o][t]="root"===t?a:a.describe({compact:!0})}}return i},c.merge=function(a,i){if(!a)return c.compile(i);if(!i)return a;if("string"==typeof i)return new u(i);if(u.isTemplate(i))return i;const d=s(a);for(let o in i){const e=i[o];if("root"===o||u.isTemplate(e)){d[o]=e;continue}if("string"==typeof e){d[o]=new u(e);continue}l("object"==typeof e&&!Array.isArray(e),"Invalid message for",o);const a=o;for(o in d[a]=d[a]||{},e){const t=e[o];"root"===o||u.isTemplate(t)?d[a][o]=t:(l("string"==typeof t,"Invalid message for",o,"in",a),d[a][o]=new u(t))}}return d}},2294:(u,d,e)=>{"use strict";function X(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})),t.push.apply(t,r)}return t}function m(a){for(var e=1,i;e<arguments.length;e++)i=null==arguments[e]?{}:arguments[e],e%2?X(Object(i),!0).forEach(function(e){n(a,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(i)):X(Object(i)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(i,e))});return a}function n(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}const P=e(375),K=e(8160),i=e(6133),l={};d.Ids=l.Ids=class{constructor(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}clone(){const a=new l.Ids;return a._byId=new Map(this._byId),a._byKey=new Map(this._byKey),a._schemaChain=this._schemaChain,a}concat(a){a._schemaChain&&(this._schemaChain=!0);for(const[e,t]of a._byId.entries())P(!this._byKey.has(e),"Schema id conflicts with existing key:",e),this._byId.set(e,t);for(const[e,t]of a._byKey.entries())P(!this._byId.has(e),"Schema key conflicts with existing id:",e),this._byKey.set(e,t)}fork(i,e,t){const r=this._collect(i);r.push({schema:t});const o=r.shift();let n={id:o.id,schema:e(o.schema)};P(K.isSchema(n.schema),"adjuster function failed to return a joi schema type");for(const a of r)n={id:a.id,schema:l.fork(a.schema,n.id,n.schema)};return n.schema}labels(a,e=[]){const i=a[0],r=this._get(i);if(!r)return[...e,...a].join(".");const o=a.slice(1);return e=[...e,r.schema._flags.label||i],o.length?r.schema._ids.labels(o,e):e.join(".")}reach(a,e=[]){const t=a[0],r=this._get(t);P(r,"Schema does not contain path",[...e,...a].join("."));const i=a.slice(1);return i.length?r.schema._ids.reach(i,[...e,t]):r.schema}register(a,{key:e}={}){if(a&&K.isSchema(a)){(a.$_property("schemaChain")||a._ids._schemaChain)&&(this._schemaChain=!0);const n=a._flags.id;if(n){const e=this._byId.get(n);P(!e||e.schema===a,"Cannot add different schemas with the same id:",n),P(!this._byKey.has(n),"Schema id conflicts with existing key:",n),this._byId.set(n,{schema:a,id:n})}e&&(P(!this._byKey.has(e),"Schema already contains key:",e),P(!this._byId.has(e),"Schema key conflicts with existing id:",e),this._byKey.set(e,{schema:a,id:e}))}}reset(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}_collect(i,e=[],t=[]){const o=i[0],c=this._get(o);P(c,"Schema does not contain path",[...e,...i].join(".")),t=[c,...t];const n=i.slice(1);return n.length?c.schema._ids._collect(n,[...e,o],t):t}_get(a){return this._byId.get(a)||this._byKey.get(a)}},l.fork=function(a,i,r){const e=d.schema(a,{each:(a,{key:e})=>{if(i===(a._flags.id||e))return r},ref:!1});return e?e.$_mutateRebuild():a},d.schema=function(i,e){let o;for(const a in i._flags){if("_"===a[0])continue;const t=l.scan(i._flags[a],{source:"flags",name:a},e);void 0!==t&&(o=o||i.clone(),o._flags[a]=t)}for(let r=0;r<i._rules.length;++r){const c=i._rules[r],n=l.scan(c.args,{source:"rules",name:c.name},e);if(void 0!==n){o=o||i.clone();const e=Object.assign({},c);e.args=n,o._rules[r]=e,o._singleRules.get(c.name)===c&&o._singleRules.set(c.name,e)}}for(const a in i.$_terms){if("_"===a[0])continue;const t=l.scan(i.$_terms[a],{source:"terms",name:a},e);void 0!==t&&(o=o||i.clone(),o.$_terms[a]=t)}return o},l.scan=function(c,e,t,r,d){const X=r||[];if(null===c||"object"!=typeof c)return;let o;if(Array.isArray(c)){for(let r=0;r<c.length;++r){const i="terms"===e.source&&"keys"===e.name&&c[r].key,n=l.scan(c[r],e,t,[r,...X],i);void 0!==n&&(o=o||c.slice(),o[r]=n)}return o}if(!1!==t.schema&&K.isSchema(c)||!1!==t.ref&&i.isRef(c)){const a=t.each(c,m(m({},e),{},{path:X,key:d}));return a===c?void 0:a}for(const a in c){if("_"===a[0])continue;const r=l.scan(c[a],e,t,[a,...X],d);void 0!==r&&(o=o||Object.assign({},c),o[a]=r)}return o}},6133:(d,X,t)=>{"use strict";function m(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})),t.push.apply(t,r)}return t}function s(a){for(var e=1,i;e<arguments.length;e++)i=null==arguments[e]?{}:arguments[e],e%2?m(Object(i),!0).forEach(function(e){n(a,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(i)):m(Object(i)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(i,e))});return a}function n(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}const a=t(375),r=t(8571),i=t(9621),o=t(8160);let c;const l={symbol:Symbol("ref"),defaults:{adjust:null,in:!1,iterables:null,map:null,separator:".",type:"value"}};X.create=function(i,c={}){a("string"==typeof i,"Invalid reference key:",i),o.assertOptions(c,["adjust","ancestor","in","iterables","map","prefix","render","separator"]),a(!c.prefix||"object"==typeof c.prefix,"options.prefix must be of type object");const u=Object.assign({},l.defaults,c);delete u.prefix;const r=u.separator,t=l.context(i,r,c.prefix);if(u.type=t.type,i=t.key,"value"===u.type)if(t.root&&(a(!r||i[0]!==r,"Cannot specify relative path with root prefix"),u.ancestor="root",i||(i=null)),r&&r===i)i=null,u.ancestor=0;else if(void 0!==u.ancestor)a(!r||!i||i[0]!==r,"Cannot combine prefix with ancestor option");else{const[e,a]=l.ancestor(i,r);a&&""===(i=i.slice(a))&&(i=null),u.ancestor=e}return u.path=r?null===i?[]:i.split(r):[i],new l.Ref(u)},X.in=function(a,e={}){return X.create(a,s(s({},e),{},{in:!0}))},X.isRef=function(a){return!!a&&!!a[o.symbols.ref]},l.Ref=class{constructor(t){a("object"==typeof t,"Invalid reference construction"),o.assertOptions(t,["adjust","ancestor","in","iterables","map","path","render","separator","type","depth","key","root","display"]),a([!1,void 0].includes(t.separator)||"string"==typeof t.separator&&1===t.separator.length,"Invalid separator"),a(!t.adjust||"function"==typeof t.adjust,"options.adjust must be a function"),a(!t.map||Array.isArray(t.map),"options.map must be an array"),a(!t.map||!t.adjust,"Cannot set both map and adjust options"),Object.assign(this,l.defaults,t),a("value"===this.type||void 0===this.ancestor,"Non-value references cannot reference ancestors"),Array.isArray(this.map)&&(this.map=new Map(this.map)),this.depth=this.path.length,this.key=this.path.length?this.path.join(this.separator):null,this.root=this.path[0],this.updateDisplay()}resolve(i,e,t,r,o={}){return a(!this.in||o.in,"Invalid in() reference usage"),"global"===this.type?this._resolve(t.context,e,o):"local"===this.type?this._resolve(r,e,o):this.ancestor?"root"===this.ancestor?this._resolve(e.ancestors[e.ancestors.length-1],e,o):(a(this.ancestor<=e.ancestors.length,"Invalid reference exceeds the schema root:",this.display),this._resolve(e.ancestors[this.ancestor-1],e,o)):this._resolve(i,e,o)}_resolve(a,e,t){let r;if("value"===this.type&&e.mainstay.shadow&&!1!==t.shadow&&(r=e.mainstay.shadow.get(this.absolute(e))),void 0===r&&(r=i(a,this.path,{iterables:this.iterables,functions:!0})),this.adjust&&(r=this.adjust(r)),this.map){const a=this.map.get(r);void 0!==a&&(r=a)}return e.mainstay&&e.mainstay.tracer.resolve(e,this,r),r}toString(){return this.display}absolute(a){return[...a.path.slice(0,-this.ancestor),...this.path]}clone(){return new l.Ref(this)}describe(){const a={path:this.path};"value"!==this.type&&(a.type=this.type),"."!==this.separator&&(a.separator=this.separator),"value"===this.type&&1!==this.ancestor&&(a.ancestor=this.ancestor),this.map&&(a.map=[...this.map]);for(const e of["adjust","iterables","render"])null!==this[e]&&void 0!==this[e]&&(a[e]=this[e]);return!1!==this.in&&(a.in=!0),{ref:a}}updateDisplay(){const a=null===this.key?"":this.key;if("value"!==this.type)return void(this.display="ref:".concat(this.type,":").concat(a));if(!this.separator)return void(this.display="ref:".concat(a));if(!this.ancestor)return void(this.display="ref:".concat(this.separator).concat(a));if("root"===this.ancestor)return void(this.display="ref:root:".concat(a));if(1===this.ancestor)return void(this.display="ref:".concat(a||".."));const e=Array(this.ancestor+1).fill(this.separator).join("");this.display="ref:".concat(e).concat(a||"")}},l.Ref.prototype[o.symbols.ref]=!0,X.build=function(a){return"value"===(a=Object.assign({},l.defaults,a)).type&&void 0===a.ancestor&&(a.ancestor=1),new l.Ref(a)},l.context=function(i,o,t={}){if(i=i.trim(),t){const e=void 0===t.global?"$":t.global;if(e!==o&&i.startsWith(e))return{key:i.slice(e.length),type:"global"};const r=void 0===t.local?"#":t.local;if(r!==o&&i.startsWith(r))return{key:i.slice(r.length),type:"local"};const n=void 0===t.root?"/":t.root;if(n!==o&&i.startsWith(n))return{key:i.slice(n.length),type:"value",root:!0}}return{key:i,type:"value"}},l.ancestor=function(a,e){if(!e)return[1,0];if(a[0]!==e)return[1,0];if(a[1]!==e)return[0,1];let t=2;for(;a[t]===e;)++t;return[t-1,t]},X.toSibling=0,X.toParent=1,X.Manager=class{constructor(){this.refs=[]}register(a,e){if(a)if(e=void 0===e?X.toParent:e,Array.isArray(a))for(const r of a)this.register(r,e);else if(o.isSchema(a))for(const r of a._refs.refs)0<=r.ancestor-e&&this.refs.push({ancestor:r.ancestor-e,root:r.root});else X.isRef(a)&&"value"===a.type&&0<=a.ancestor-e&&this.refs.push({ancestor:a.ancestor-e,root:a.root}),c=c||t(3328),c.isTemplate(a)&&this.register(a.refs(),e)}get length(){return this.refs.length}clone(){const a=new X.Manager;return a.refs=r(this.refs),a}reset(){this.refs=[]}roots(){return this.refs.filter(a=>!a.ancestor).map(a=>a.root)}}},3378:(a,e,t)=>{"use strict";const r=t(5107),i={};i.wrap=r.string().min(1).max(2).allow(!1),e.preferences=r.object({allowUnknown:r.boolean(),abortEarly:r.boolean(),artifacts:r.boolean(),cache:r.boolean(),context:r.object(),convert:r.boolean(),dateFormat:r.valid("date","iso","string","time","utc"),debug:r.boolean(),errors:{escapeHtml:r.boolean(),label:r.valid("path","key",!1),language:[r.string(),r.object().ref()],render:r.boolean(),stack:r.boolean(),wrap:{label:i.wrap,array:i.wrap}},externals:r.boolean(),messages:r.object(),noDefaults:r.boolean(),nonEnumerables:r.boolean(),presence:r.valid("required","optional","forbidden"),skipFunctions:r.boolean(),stripUnknown:r.object({arrays:r.boolean(),objects:r.boolean()}).or("arrays","objects").allow(!0,!1),warnings:r.boolean()}).strict(),i.nameRx=/^[a-zA-Z0-9]\w*$/,i.rule=r.object({alias:r.array().items(r.string().pattern(i.nameRx)).single(),args:r.array().items(r.string(),r.object({name:r.string().pattern(i.nameRx).required(),ref:r.boolean(),assert:r.alternatives([r.function(),r.object().schema()]).conditional("ref",{is:!0,then:r.required()}),normalize:r.function(),message:r.string().when("assert",{is:r.function(),then:r.required()})})),convert:r.boolean(),manifest:r.boolean(),method:r.function().allow(!1),multi:r.boolean(),validate:r.function()}),e.extension=r.object({type:r.alternatives([r.string(),r.object().regex()]).required(),args:r.function(),cast:r.object().pattern(i.nameRx,r.object({from:r.function().maxArity(1).required(),to:r.function().minArity(1).maxArity(2).required()})),base:r.object().schema().when("type",{is:r.object().regex(),then:r.forbidden()}),coerce:[r.function().maxArity(3),r.object({method:r.function().maxArity(3).required(),from:r.array().items(r.string()).single()})],flags:r.object().pattern(i.nameRx,r.object({setter:r.string(),default:r.any()})),manifest:{build:r.function().arity(2)},messages:[r.object(),r.string()],modifiers:r.object().pattern(i.nameRx,r.function().minArity(1).maxArity(2)),overrides:r.object().pattern(i.nameRx,r.function()),prepare:r.function().maxArity(3),rebuild:r.function().arity(1),rules:r.object().pattern(i.nameRx,i.rule),terms:r.object().pattern(i.nameRx,r.object({init:r.array().allow(null).required(),manifest:r.object().pattern(/.+/,[r.valid("schema","single"),r.object({mapped:r.object({from:r.string().required(),to:r.string().required()}).required()})])})),validate:r.function().maxArity(3)}).strict(),e.extensions=r.array().items(r.object(),r.function().arity(1)).strict(),i.desc={buffer:r.object({buffer:r.string()}),func:r.object({function:r.function().required(),options:{literal:!0}}),override:r.object({override:!0}),ref:r.object({ref:r.object({type:r.valid("value","global","local"),path:r.array().required(),separator:r.string().length(1).allow(!1),ancestor:r.number().min(0).integer().allow("root"),map:r.array().items(r.array().length(2)).min(1),adjust:r.function(),iterables:r.boolean(),in:r.boolean(),render:r.boolean()}).required()}),regex:r.object({regex:r.string().min(3)}),special:r.object({special:r.valid("deep").required()}),template:r.object({template:r.string().required(),options:r.object()}),value:r.object({value:r.alternatives([r.object(),r.array()]).required()})},i.desc.entity=r.alternatives([r.array().items(r.link("...")),r.boolean(),r.function(),r.number(),r.string(),i.desc.buffer,i.desc.func,i.desc.ref,i.desc.regex,i.desc.special,i.desc.template,i.desc.value,r.link("/")]),i.desc.values=r.array().items(null,r.boolean(),r.function(),r.number().allow(1/0,-1/0),r.string().allow(""),r.symbol(),i.desc.buffer,i.desc.func,i.desc.override,i.desc.ref,i.desc.regex,i.desc.template,i.desc.value),i.desc.messages=r.object().pattern(/.+/,[r.string(),i.desc.template,r.object().pattern(/.+/,[r.string(),i.desc.template])]),e.description=r.object({type:r.string().required(),flags:r.object({cast:r.string(),default:r.any(),description:r.string(),empty:r.link("/"),failover:i.desc.entity,id:r.string(),label:r.string(),only:!0,presence:["optional","required","forbidden"],result:["raw","strip"],strip:r.boolean(),unit:r.string()}).unknown(),preferences:{allowUnknown:r.boolean(),abortEarly:r.boolean(),artifacts:r.boolean(),cache:r.boolean(),convert:r.boolean(),dateFormat:["date","iso","string","time","utc"],errors:{escapeHtml:r.boolean(),label:["path","key"],language:[r.string(),i.desc.ref],wrap:{label:i.wrap,array:i.wrap}},externals:r.boolean(),messages:i.desc.messages,noDefaults:r.boolean(),nonEnumerables:r.boolean(),presence:["required","optional","forbidden"],skipFunctions:r.boolean(),stripUnknown:r.object({arrays:r.boolean(),objects:r.boolean()}).or("arrays","objects").allow(!0,!1),warnings:r.boolean()},allow:i.desc.values,invalid:i.desc.values,rules:r.array().min(1).items({name:r.string().required(),args:r.object().min(1),keep:r.boolean(),message:[r.string(),i.desc.messages],warn:r.boolean()}),keys:r.object().pattern(/.*/,r.link("/")),link:i.desc.ref}).pattern(/^[a-z]\w*$/,r.any())},493:(i,e,t)=>{"use strict";const r=t(8571),c=t(9621),n=t(8160),a={value:Symbol("value")};i.exports=a.State=class{constructor(a,e,t){this.path=a,this.ancestors=e,this.mainstay=t.mainstay,this.schemas=t.schemas,this.debug=null}localize(n,e=null,t=null){const r=new a.State(n,e,this);return t&&r.schemas&&(r.schemas=[a.schemas(t),...r.schemas]),r}nest(n,e){const t=new a.State(this.path,this.ancestors,this);return t.schemas=t.schemas&&[a.schemas(n),...t.schemas],t.debug=e,t}shadow(r,e){this.mainstay.shadow=this.mainstay.shadow||new a.Shadow,this.mainstay.shadow.set(this.path,r,e)}snapshot(){this.mainstay.shadow&&(this._snapshot=r(this.mainstay.shadow.node(this.path)))}restore(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0)}},a.schemas=function(a){return n.isSchema(a)?{schema:a}:a},a.Shadow=class{constructor(){this._values=null}set(i,e,t){if(!i.length)return;if("strip"===t&&"number"==typeof i[i.length-1])return;this._values=this._values||new Map;let o=this._values;for(let a=0;a<i.length;++a){const e=i[a];let t=o.get(e);t||(t=new Map,o.set(e,t)),o=t}o[a.value]=e}get(r){const e=this.node(r);if(e)return e[a.value]}node(a){if(this._values)return c(this._values,a,{iterables:!0})}override(n,e){if(this._values){const t=n.slice(0,-1),r=n[n.length-1],i=c(this._values,t,{iterables:!0});e?i.set(r,e):i&&i.delete(r)}}}},3328:(d,e,t)=>{"use strict";function X(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})),t.push.apply(t,r)}return t}function s(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}const r=t(375),a=t(8571),P=t(5277),i=t(1447),n=t(8160),c=t(6354),K=t(6133),g={symbol:Symbol("template"),opens:Array(1e3).join("\0"),closes:Array(1e3).join("\x01"),dateFormat:{date:Date.prototype.toDateString,iso:Date.prototype.toISOString,string:Date.prototype.toString,time:Date.prototype.toTimeString,utc:Date.prototype.toUTCString}};d.exports=g.Template=class{constructor(n,e){r("string"==typeof n,"Template source must be a string"),r(!n.includes("\0")&&!n.includes("\x01"),"Template source cannot contain reserved control characters"),this.source=n,this.rendered=n,this._template=null,this._settings=a(e),this._parse()}_parse(){if(!this.source.includes("{"))return;const a=g.encode(this.source),i=g.split(a);let u=!1;const d=[],e=i.shift();e&&d.push(e);for(const r of i){const e="{"!==r[0],t=e?"}":"}}",n=r.indexOf(t);if(-1===n||"{"===r[1]){d.push("{".concat(g.decode(r)));continue}let a=r.slice(e?0:1,n);const o=":"===a[0];o&&(a=a.slice(1));const i=this._ref(g.decode(a),{raw:e,wrapped:o});d.push(i),"string"!=typeof i&&(u=!0);const s=r.slice(n+t.length);s&&d.push(g.decode(s))}u?this._template=d:this.rendered=d.join("")}static date(a,e){return g.dateFormat[e.dateFormat].call(a)}describe(a={}){if(!this._settings&&a.compact)return this.source;const e={template:this.source};return this._settings&&(e.options=this._settings),e}static build(a){return new g.Template(a.template,a.options)}isDynamic(){return!!this._template}static isTemplate(a){return!!a&&!!a[n.symbols.template]}refs(){if(this._template){const a=[];for(const e of this._template)"string"!=typeof e&&a.push(...e.refs);return a}}resolve(a,e,t,r){return this._template&&1===this._template.length?this._part(this._template[0],a,e,t,r,{}):this.render(a,e,t,r)}_part(a,...e){return a.ref?a.ref.resolve(...e):a.formula.evaluate(e)}render(i,e,t,r,s={}){if(!this.isDynamic())return this.rendered;const n=[];for(const a of this._template)if("string"==typeof a)n.push(a);else{const o=this._part(a,i,e,t,r,s),l=g.stringify(o,i,e,t,r,s);if(void 0!==l){const r=a.raw||!1===(s.errors&&s.errors.escapeHtml)?l:P(l);n.push(g.wrap(r,a.wrapped&&t.errors.wrap.label))}}return n.join("")}_ref(o,{raw:c,wrapped:t}){const r=[],e=a=>{const n=K.create(a,this._settings);return r.push(n),a=>n.resolve(...a)};try{var n=new i.Parser(o,{reference:e,functions:g.functions,constants:g.constants})}catch(e){throw e.message="Invalid template variable \"".concat(o,"\" fails due to: ").concat(e.message),e}if(n.single){if("reference"===n.single.type){const a=r[0];return{ref:a,raw:c,refs:r,wrapped:t||"local"===a.type&&"label"===a.key}}return g.stringify(n.single.value)}return{formula:n,raw:c,refs:r}}toString(){return this.source}},g.Template.prototype[n.symbols.template]=!0,g.Template.prototype.isImmutable=!0,g.encode=function(a){return a.replace(/\\(\{+)/g,(a,e)=>g.opens.slice(0,e.length)).replace(/\\(\}+)/g,(a,e)=>g.closes.slice(0,e.length))},g.decode=function(a){return a.replace(/\u0000/g,"{").replace(/\u0001/g,"}")},g.split=function(a){const e=[];let t="";for(let r=0;r<a.length;++r){const i=a[r];if("{"===i){let i="";for(;r+1<a.length&&"{"===a[r+1];)i+="{",++r;e.push(t),t=i}else t+=i}return e.push(t),e},g.wrap=function(a,e){return e?1===e.length?"".concat(e).concat(a).concat(e):"".concat(e[0]).concat(a).concat(e[1]):a},g.stringify=function(n,d,t,r,a,o){const i=typeof n;let l=!1;if(K.isRef(n)&&n.render&&(l=n.in,n=n.resolve(d,t,r,a,function(a){for(var e=1,n;e<arguments.length;e++)n=null==arguments[e]?{}:arguments[e],e%2?X(Object(n),!0).forEach(function(e){s(a,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)):X(Object(n)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(n,e))});return a}({in:n.in},o))),null===n)return"null";if("string"==i)return n;if("number"==i||"function"===i||"symbol"===i)return n.toString();if("object"!=i)return JSON.stringify(n);if(n instanceof Date)return g.Template.date(n,r);if(n instanceof Map){const e=[];for(const[a,t]of n.entries())e.push("".concat(a.toString()," -> ").concat(t.toString()));n=e}if(!Array.isArray(n))return n.toString();let m="";for(const e of n)m=m+(m.length?", ":"")+g.stringify(e,d,t,r,a,o);return l?m:g.wrap(m,r.errors.wrap.array)},g.constants={true:!0,false:!1,null:null,second:1e3,minute:6e4,hour:36e5,day:864e5},g.functions={if:(a,e,t)=>a?e:t,msg(l){const[e,t,r,s,n]=this,a=n.messages;if(!a)return"";const o=c.template(e,a[0],l,t,r)||c.template(e,a[1],l,t,r);return o?o.render(e,t,r,s,n):""},number:a=>"number"==typeof a?a:"string"==typeof a?parseFloat(a):"boolean"==typeof a?a?1:0:a instanceof Date?a.getTime():null}},4946:(d,e,t)=>{"use strict";const X=t(375),r=t(1687),n=t(8068),a=t(8160),o=t(3292),m=t(6354),i=t(6133),l={};d.exports=n.extend({type:"alternatives",flags:{match:{default:"any"}},terms:{matches:{init:[],register:i.toSibling}},args:(a,...e)=>1===e.length&&Array.isArray(e[0])?a.try(...e[0]):a.try(...e),validate(d,e){const{schema:c,error:n,state:X,prefs:a}=e;if(c._flags.match){const e=[];for(let t=0;t<c.$_terms.matches.length;++t){const r=c.$_terms.matches[t],n=X.nest(r.schema,"match.".concat(t));n.snapshot();const i=r.schema.$_validate(d,n,a);i.errors?n.restore():e.push(i.value)}return 0===e.length?{errors:n("alternatives.any")}:"one"===c._flags.match?1===e.length?{value:e[0]}:{errors:n("alternatives.one")}:e.length===c.$_terms.matches.length?c.$_terms.matches.reduce((a,e)=>a&&"object"===e.schema.type,!0)?{value:e.reduce((a,e)=>r(a,e,{mergeArrays:!1}))}:{value:e[e.length-1]}:{errors:n("alternatives.all")}}const o=[];for(let P=0;P<c.$_terms.matches.length;++P){const e=c.$_terms.matches[P];if(e.schema){const t=X.nest(e.schema,"match.".concat(P));t.snapshot();const r=e.schema.$_validate(d,t,a);if(!r.errors)return r;t.restore(),o.push({schema:e.schema,reports:r.errors});continue}const t=e.ref?e.ref.resolve(d,X,a):d,n=e.is?[e]:e.switch;for(let o=0;o<n.length;++o){const r=n[o],{is:i,then:c,otherwise:s}=r,l="match.".concat(P).concat(e.switch?"."+o:"");if(i.$_match(t,X.nest(i,"".concat(l,".is")),a)){if(c)return c.$_validate(d,X.nest(c,"".concat(l,".then")),a);}else if(s)return s.$_validate(d,X.nest(s,"".concat(l,".otherwise")),a)}}return l.errors(o,e)},rules:{conditional:{method(i,e){X(!this._flags._endedSwitch,"Unreachable condition"),X(!this._flags.match,"Cannot combine match mode",this._flags.match,"with conditional rule"),X(void 0===e.break,"Cannot use break option with alternatives conditional");const t=this.clone(),r=o.when(t,i,e),n=r.is?[r]:r.switch;for(const a of n)if(a.then&&a.otherwise){t.$_setFlag("_endedSwitch",!0,{clone:!1});break}return t.$_terms.matches.push(r),t.$_mutateRebuild()}},match:{method(a){if(X(["any","one","all"].includes(a),"Invalid alternatives match mode",a),"any"!==a)for(const e of this.$_terms.matches)X(e.schema,"Cannot combine match mode",a,"with conditional rules");return this.$_setFlag("match",a)}},try:{method(...n){X(n.length,"Missing alternative schemas"),a.verifyFlat(n,"try"),X(!this._flags._endedSwitch,"Unreachable condition");const e=this.clone();for(const a of n)e.$_terms.matches.push({schema:e.$_compile(a)});return e.$_mutateRebuild()}}},overrides:{label(a){return this.$_parent("label",a).$_modify({each:(e,t)=>"is"===t.path[0]?void 0:e.label(a),ref:!1})}},rebuild(r){r.$_modify({each:e=>{a.isSchema(e)&&"array"===e.type&&r.$_setFlag("_arrayItems",!0,{clone:!1})}})},manifest:{build(c,a){if(a.matches)for(const e of a.matches){const{schema:r,ref:t,is:s,not:n,then:a,otherwise:o}=e;c=r?c.try(r):t?c.conditional(t,{is:s,then:a,not:n,otherwise:o,switch:e.switch}):c.conditional(s,{then:a,otherwise:o})}return c}},messages:{"alternatives.all":"{{#label}} does not match all of the required types","alternatives.any":"{{#label}} does not match any of the allowed types","alternatives.match":"{{#label}} does not match any of the allowed types","alternatives.one":"{{#label}} matches more than one allowed type","alternatives.types":"{{#label}} must be one of {{#types}}"}}),l.errors=function(u,{error:e,state:t}){if(!u.length)return{errors:e("alternatives.any")};if(1===u.length)return{errors:u[0].reports};const r=new Set,s=[];for(const{reports:n,schema:a}of u){if(1<n.length)return l.unmatched(u,e);const o=n[0];if(0==o instanceof m.Report)return l.unmatched(u,e);if(o.state.path.length!==t.path.length){s.push({type:a.type,report:o});continue}if("any.only"===o.code){for(const a of o.local.valids)r.add(a);continue}const[i,c]=o.code.split(".");"base"===c?r.add(i):s.push({type:a.type,report:o})}return s.length?1===s.length?{errors:s[0].report}:l.unmatched(u,e):{errors:e("alternatives.types",{types:[...r]})}},l.unmatched=function(a,e){const n=[];for(const r of a)n.push(...r.reports);return{errors:e("alternatives.match",m.details(n,{override:!1}))}}},8068:(i,e,t)=>{"use strict";const r=t(375),c=t(7629),n=t(8160),a=t(6914);i.exports=c.extend({type:"any",flags:{only:{default:!1}},terms:{alterations:{init:null},examples:{init:null},externals:{init:null},metas:{init:[]},notes:{init:[]},shared:{init:null},tags:{init:[]},whens:{init:null}},rules:{custom:{method(a,e){return r("function"==typeof a,"Method must be a function"),r(void 0===e||e&&"string"==typeof e,"Description must be a non-empty string"),this.$_addRule({name:"custom",args:{method:a,description:e}})},validate(a,n,{method:e}){try{return e(a,n)}catch(a){return n.error("any.custom",{error:a})}},args:["method","description"],multi:!0},messages:{method(a){return this.prefs({messages:a})}},shared:{method(a){r(n.isSchema(a)&&a._flags.id,"Schema must be a schema with an id");const e=this.clone();return e.$_terms.shared=e.$_terms.shared||[],e.$_terms.shared.push(a),e.$_mutateRegister(a),e}},warning:{method(a,e){return r(a&&"string"==typeof a,"Invalid warning code"),this.$_addRule({name:"warning",args:{code:a,local:e},warn:!0})},validate:(a,e,{code:t,local:r})=>e.error(t,r),args:["code","local"],multi:!0}},modifiers:{keep(a,e=!0){a.keep=e},message(r,e){r.message=a.compile(e)},warn(a,e=!0){a.warn=e}},manifest:{build(c,a){for(const e in a){const n=a[e];if(["examples","externals","metas","notes","tags"].includes(e))for(const a of n)c=c[e.slice(0,-1)](a);else if(!("alterations"!==e)){const a={};for(const{target:t,adjuster:e}of n)a[t]=e;c=c.alter(a)}else if(!("whens"!==e))for(const e of n){const{ref:t,is:r,not:s,then:n,otherwise:a,concat:o}=e;c=o?c.concat(o):t?c.when(t,{is:r,not:s,then:n,otherwise:a,switch:e.switch,break:e.break}):c.when(r,{then:n,otherwise:a,break:e.break})}else if("shared"===e)for(const e of n)c=c.shared(e)}return c}},messages:{"any.custom":"{{#label}} failed custom validation because {{#error.message}}","any.default":"{{#label}} threw an error when running default method","any.failover":"{{#label}} threw an error when running failover method","any.invalid":"{{#label}} contains an invalid value","any.only":"{{#label}} must be {if(#valids.length == 1, \"\", \"one of \")}{{#valids}}","any.ref":"{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}","any.required":"{{#label}} is required","any.unknown":"{{#label}} is not allowed"}})},546:(u,e,t)=>{"use strict";const d=t(375),r=t(9474),s=t(9621),a=t(8068),X=t(8160),n=t(3292),P={};u.exports=a.extend({type:"array",flags:{single:{default:!1},sparse:{default:!1}},terms:{items:{init:[],manifest:"schema"},ordered:{init:[],manifest:"schema"},_exclusions:{init:[]},_inclusions:{init:[]},_requireds:{init:[]}},coerce:{from:"object",method(a,{schema:e,state:t,prefs:r}){if(Array.isArray(a)){const i=e.$_getRule("sort");return i?P.sort(e,a,i.args.options,t,r):void 0}}},validate(a,{schema:e,error:t}){if(!Array.isArray(a)){if(e._flags.single){const e=[a];return e[X.symbols.arraySingle]=!0,{value:e}}return{errors:t("array.base")}}return e.$_getRule("items")||e.$_terms.externals?{value:a.slice()}:void 0},rules:{has:{method(a){a=this.$_compile(a,{appendPath:!0});const r=this.$_addRule({name:"has",args:{schema:a}});return r.$_mutateRegister(a),r},validate(i,{state:e,prefs:t,error:r},{schema:c}){const n=[i,...e.ancestors];for(let a=0;a<i.length;++a){const r=e.localize([...e.path,a],n,c);if(c.$_match(i[a],r,t))return i}const a=c._flags.label;return a?r("array.hasKnown",{patternLabel:a}):r("array.hasUnknown",null)},multi:!0},items:{method(...a){X.verifyFlat(a,"items");const e=this.$_addRule("items");for(let t=0;t<a.length;++t){const r=X.tryWithPath(()=>this.$_compile(a[t]),t,{append:!0});e.$_terms.items.push(r)}return e.$_mutateRebuild()},validate(c,{schema:K,error:e,state:t,prefs:r,errorsArray:n}){const s=K.$_terms._requireds.slice(),d=K.$_terms.ordered.slice(),o=[...K.$_terms._inclusions,...s],l=!c[X.symbols.arraySingle];delete c[X.symbols.arraySingle];const p=n();let m=c.length;for(let X=0;X<m;++X){const a=c[X];let n=!1,i=!1;const h=l?X:new Number(X),g=[...t.path,h];if(!K._flags.sparse&&void 0===a){if(p.push(e("array.sparse",{key:h,path:g,pos:X,value:void 0},t.localize(g))),r.abortEarly)return p;d.shift();continue}const y=[c,...t.ancestors];for(const i of K.$_terms._exclusions)if(i.$_match(a,t.localize(g,y,i),r,{presence:"ignore"})){if(p.push(e("array.excludes",{pos:X,value:a},t.localize(g))),r.abortEarly)return p;n=!0,d.shift();break}if(n)continue;if(K.$_terms.ordered.length){if(d.length){const n=d.shift(),i=n.$_validate(a,t.localize(g,y,n),r);if(i.errors){if(p.push(...i.errors),r.abortEarly)return p;}else if("strip"===n._flags.result)P.fastSplice(c,X),--X,--m;else{if(!K._flags.sparse&&void 0===i.value){if(p.push(e("array.sparse",{key:h,path:g,pos:X,value:void 0},t.localize(g))),r.abortEarly)return p;continue}c[X]=i.value}continue}if(!K.$_terms.items.length){if(p.push(e("array.orderedLength",{pos:X,limit:K.$_terms.ordered.length})),r.abortEarly)return p;break}}const b=[];let A=s.length;for(let n=0;n<A;++n){const o=t.localize(g,y,s[n]);o.snapshot();const l=s[n].$_validate(a,o,r);if(b[n]=l,!l.errors){if(c[X]=l.value,i=!0,P.fastSplice(s,n),--n,--A,!K._flags.sparse&&void 0===l.value&&(p.push(e("array.sparse",{key:h,path:g,pos:X,value:void 0},t.localize(g))),r.abortEarly))return p;break}o.restore()}if(i)continue;const f=r.stripUnknown&&!!r.stripUnknown.arrays||!1;A=o.length;for(const d of o){let l;const o=s.indexOf(d);if(-1!==o)l=b[o];else{const s=t.localize(g,y,d);if(s.snapshot(),l=d.$_validate(a,s,r),!l.errors){"strip"===d._flags.result?(P.fastSplice(c,X),--X,--m):K._flags.sparse||void 0!==l.value?c[X]=l.value:(p.push(e("array.sparse",{key:h,path:g,pos:X,value:void 0},t.localize(g))),n=!0),i=!0;break}s.restore()}if(1===A){if(f){P.fastSplice(c,X),--X,--m,i=!0;break}if(p.push(...l.errors),r.abortEarly)return p;n=!0;break}}if(!n&&(K.$_terms._inclusions.length||K.$_terms._requireds.length)&&!i){if(f){P.fastSplice(c,X),--X,--m;continue}if(p.push(e("array.includes",{pos:X,value:a},t.localize(g))),r.abortEarly)return p}}return s.length&&P.fillMissedErrors(K,p,s,c,t,r),d.length&&(P.fillOrderedErrors(K,p,d,c,t,r),p.length||P.fillDefault(d,c,t,r)),p.length?p:c},priority:!0,manifest:!1},length:{method(a){return this.$_addRule({name:"length",args:{limit:a},operator:"="})},validate:(i,e,{limit:t},{name:r,operator:o,args:n})=>X.compare(i.length,t,o)?i:e.error("array."+r,{limit:n.limit,value:i}),args:[{name:"limit",ref:!0,assert:X.limit,message:"must be a positive integer"}]},max:{method(a){return this.$_addRule({name:"max",method:"length",args:{limit:a},operator:"<="})}},min:{method(a){return this.$_addRule({name:"min",method:"length",args:{limit:a},operator:">="})}},ordered:{method(...a){X.verifyFlat(a,"ordered");const e=this.$_addRule("items");for(let t=0;t<a.length;++t){const r=X.tryWithPath(()=>this.$_compile(a[t]),t,{append:!0});P.validateSingle(r,e),e.$_mutateRegister(r),e.$_terms.ordered.push(r)}return e.$_mutateRebuild()}},single:{method(a){const e=void 0===a||!!a;return d(!e||!this._flags._arrayItems,"Cannot specify single rule when array has array items"),this.$_setFlag("single",e)}},sort:{method(a={}){X.assertOptions(a,["by","order"]);const e={order:a.order||"ascending"};return a.by&&(e.by=n.ref(a.by,{ancestor:0}),d(!e.by.ancestor,"Cannot sort by ancestor")),this.$_addRule({name:"sort",args:{options:e}})},validate(c,{error:e,state:t,prefs:r,schema:s},{options:n}){const{value:a,errors:o}=P.sort(s,c,n,t,r);if(o)return o;for(let i=0;i<c.length;++i)if(c[i]!==a[i])return e("array.sort",{order:n.order,by:n.by?n.by.key:"value"});return c},convert:!0},sparse:{method(a){const e=void 0===a||!!a;return this._flags.sparse===e?this:(e?this.clone():this.$_addRule("items")).$_setFlag("sparse",e,{clone:!1})}},unique:{method(a,e={}){d(!a||"function"==typeof a||"string"==typeof a,"comparator must be a function or a string"),X.assertOptions(e,["ignoreUndefined","separator"]);const t={name:"unique",args:{options:e,comparator:a}};if(a)if("string"==typeof a){const r=X.default(e.separator,".");t.path=r?a.split(r):[a]}else t.comparator=a;return this.$_addRule(t)},validate(X,{state:e,error:t,schema:a},{comparator:r,options:n},{comparator:i,path:c}){const u={string:Object.create(null),number:Object.create(null),undefined:Object.create(null),boolean:Object.create(null),object:new Map,function:new Map,custom:new Map},m=n.ignoreUndefined;for(let P=0;P<X.length;++P){const n=c?s(X[P],c):X[P],a=i?u.custom:u[typeof n];if(d(a,"Failed to find unique map container for type",typeof n),a instanceof Map){const o=a.entries();for(let l;!(l=o.next()).done;)if((i||P)(l.value[0],n)){const a=e.localize([...e.path,P],[X,...e.ancestors]),n={pos:P,value:X[P],dupePos:l.value[1],dupeValue:X[l.value[1]]};return c&&(n.path=r),t("array.unique",n,a)}a.set(n,P)}else{if((!m||void 0!==n)&&void 0!==a[n]){const i={pos:P,value:X[P],dupePos:a[n],dupeValue:X[a[n]]};return c&&(i.path=r),t("array.unique",i,e.localize([...e.path,P],[X,...e.ancestors]))}a[n]=P}}return X},args:["comparator","options"],multi:!0}},cast:{set:{from:Array.isArray,to:a=>new Set(a)}},rebuild(a){a.$_terms._inclusions=[],a.$_terms._exclusions=[],a.$_terms._requireds=[];for(const e of a.$_terms.items)P.validateSingle(e,a),"required"===e._flags.presence?a.$_terms._requireds.push(e):"forbidden"===e._flags.presence?a.$_terms._exclusions.push(e):a.$_terms._inclusions.push(e);for(const e of a.$_terms.ordered)P.validateSingle(e,a)},manifest:{build:(a,e)=>(e.items&&(a=a.items(...e.items)),e.ordered&&(a=a.ordered(...e.ordered)),a)},messages:{"array.base":"{{#label}} must be an array","array.excludes":"{{#label}} contains an excluded value","array.hasKnown":"{{#label}} does not contain at least one required match for type {:#patternLabel}","array.hasUnknown":"{{#label}} does not contain at least one required match","array.includes":"{{#label}} does not match any of the allowed types","array.includesRequiredBoth":"{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)","array.includesRequiredKnowns":"{{#label}} does not contain {{#knownMisses}}","array.includesRequiredUnknowns":"{{#label}} does not contain {{#unknownMisses}} required value(s)","array.length":"{{#label}} must contain {{#limit}} items","array.max":"{{#label}} must contain less than or equal to {{#limit}} items","array.min":"{{#label}} must contain at least {{#limit}} items","array.orderedLength":"{{#label}} must contain at most {{#limit}} items","array.sort":"{{#label}} must be sorted in {#order} order by {{#by}}","array.sort.mismatching":"{{#label}} cannot be sorted due to mismatching types","array.sort.unsupported":"{{#label}} cannot be sorted due to unsupported type {#type}","array.sparse":"{{#label}} must not be a sparse array item","array.unique":"{{#label}} contains a duplicate value"}}),P.fillMissedErrors=function(c,e,t,r,s,n){const a=[];let o=0;for(const i of t){const e=i._flags.label;e?a.push(e):++o}a.length?o?e.push(c.$_createError("array.includesRequiredBoth",r,{knownMisses:a,unknownMisses:o},s,n)):e.push(c.$_createError("array.includesRequiredKnowns",r,{knownMisses:a},s,n)):e.push(c.$_createError("array.includesRequiredUnknowns",r,{unknownMisses:o},s,n))},P.fillOrderedErrors=function(i,e,t,r,c,n){const a=[];for(const o of t)"required"===o._flags.presence&&a.push(o);a.length&&P.fillMissedErrors(i,e,a,r,c,n)},P.fillDefault=function(u,e,t,r){const s=[];let n=!0;for(let a=u.length-1;0<=a;--a){const o=u[a],i=[e,...t.ancestors],l=o.$_validate(void 0,t.localize(t.path,i,o),r).value;if(n){if(void 0===l)continue;n=!1}s.unshift(l)}s.length&&e.push(...s)},P.fastSplice=function(a,e){for(let t=e;t<a.length;)a[t++]=a[t];--a.length},P.validateSingle=function(a,e){("array"===a.type||a._flags._arrayItems)&&(d(!e._flags.single,"Cannot specify array item with single rule enabled"),e.$_setFlag("_arrayItems",!0,{clone:!1}))},P.sort=function(c,e,t,r,s){const n="ascending"===t.order?1:-1,a=-1*n,o=n,i=(i,d)=>{let X=P.compare(i,d,a,o);if(null!==X)return X;if(t.by&&(i=t.by.resolve(i,r,s),d=t.by.resolve(d,r,s)),X=P.compare(i,d,a,o),null!==X)return X;const K=typeof i;if(K!=typeof d)throw c.$_createError("array.sort.mismatching",e,null,r,s);if("number"!=K&&"string"!==K)throw c.$_createError("array.sort.unsupported",e,{type:K},r,s);return"number"==K?(i-d)*n:i<d?a:o};try{return{value:e.slice().sort(i)}}catch(a){return{errors:a}}},P.compare=function(a,e,t,r){return a===e?0:void 0===a?1:void 0===e?-1:null===a?r:null===e?t:null}},4937:(c,e,t)=>{"use strict";const l=t(375),r=t(8068),n=t(8160),a=t(2036),o={isBool:function(a){return"boolean"==typeof a}};c.exports=r.extend({type:"boolean",flags:{sensitive:{default:!1}},terms:{falsy:{init:null,manifest:"values"},truthy:{init:null,manifest:"values"}},coerce(a,{schema:n}){if("boolean"!=typeof a){if("string"==typeof a){const e=n._flags.sensitive?a:a.toLowerCase();a="true"===e||"false"!==e&&a}return"boolean"!=typeof a&&(a=n.$_terms.truthy&&n.$_terms.truthy.has(a,null,null,!n._flags.sensitive)||(!n.$_terms.falsy||!n.$_terms.falsy.has(a,null,null,!n._flags.sensitive))&&a),{value:a}}},validate(a,{error:e}){if("boolean"!=typeof a)return{value:a,errors:e("boolean.base")}},rules:{truthy:{method(...i){n.verifyFlat(i,"truthy");const e=this.clone();e.$_terms.truthy=e.$_terms.truthy||new a;for(let a=0;a<i.length;++a){const t=i[a];l(void 0!==t,"Cannot call truthy with undefined"),e.$_terms.truthy.add(t)}return e}},falsy:{method(...i){n.verifyFlat(i,"falsy");const e=this.clone();e.$_terms.falsy=e.$_terms.falsy||new a;for(let a=0;a<i.length;++a){const t=i[a];l(void 0!==t,"Cannot call falsy with undefined"),e.$_terms.falsy.add(t)}return e}},sensitive:{method(a=!0){return this.$_setFlag("sensitive",a)}}},cast:{number:{from:o.isBool,to:a=>a?1:0},string:{from:o.isBool,to:a=>a?"true":"false"}},manifest:{build:(a,e)=>(e.truthy&&(a=a.truthy(...e.truthy)),e.falsy&&(a=a.falsy(...e.falsy)),a)},messages:{"boolean.base":"{{#label}} must be a boolean"}})},7500:(c,e,t)=>{"use strict";const r=t(375),s=t(8068),l=t(8160),a=t(3328),n={isDate:function(a){return a instanceof Date}};c.exports=s.extend({type:"date",coerce:{from:["number","string"],method:(a,{schema:e})=>({value:n.parse(a,e._flags.format)||a})},validate(a,{schema:e,error:t,prefs:r}){if(!(a instanceof Date)||isNaN(a.getTime())){const i=e._flags.format;return r.convert&&i&&"string"==typeof a?{value:a,errors:t("date.format",{format:i})}:{value:a,errors:t("date.base")}}},rules:{compare:{method:!1,validate(a,e,{date:t},{name:r,operator:c,args:n}){const o="now"===t?Date.now():t.getTime();return l.compare(a.getTime(),o,c)?a:e.error("date."+r,{limit:n.date,value:a})},args:[{name:"date",ref:!0,normalize:a=>"now"===a?a:n.parse(a),assert:a=>null!==a,message:"must have a valid date format"}]},format:{method(a){return r(["iso","javascript","unix"].includes(a),"Unknown date format",a),this.$_setFlag("format",a)}},greater:{method(a){return this.$_addRule({name:"greater",method:"compare",args:{date:a},operator:">"})}},iso:{method(){return this.format("iso")}},less:{method(a){return this.$_addRule({name:"less",method:"compare",args:{date:a},operator:"<"})}},max:{method(a){return this.$_addRule({name:"max",method:"compare",args:{date:a},operator:"<="})}},min:{method(a){return this.$_addRule({name:"min",method:"compare",args:{date:a},operator:">="})}},timestamp:{method(a="javascript"){return r(["javascript","unix"].includes(a),"\"type\" must be one of \"javascript, unix\""),this.format(a)}}},cast:{number:{from:n.isDate,to:a=>a.getTime()},string:{from:n.isDate,to:(r,{prefs:e})=>a.date(r,e)}},messages:{"date.base":"{{#label}} must be a valid date","date.format":"{{#label}} must be in {msg(\"date.format.\" + #format) || #format} format","date.greater":"{{#label}} must be greater than {{:#limit}}","date.less":"{{#label}} must be less than {{:#limit}}","date.max":"{{#label}} must be less than or equal to {{:#limit}}","date.min":"{{#label}} must be greater than or equal to {{:#limit}}","date.format.iso":"ISO 8601 date","date.format.javascript":"timestamp or number of milliseconds","date.format.unix":"timestamp or number of seconds"}}),n.parse=function(a,i){if(a instanceof Date)return a;if("string"!=typeof a&&(isNaN(a)||!isFinite(a)))return null;if(/^\s*$/.test(a))return null;if("iso"===i)return l.isIsoDate(a)?n.date(a.toString()):null;const t=a;if("string"==typeof a&&/^[+-]?\d+(\.\d+)?$/.test(a)&&(a=parseFloat(a)),i){if("javascript"===i)return n.date(1*a);if("unix"===i)return n.date(1e3*a);if("string"==typeof t)return null}return n.date(a)},n.date=function(a){const e=new Date(a);return isNaN(e.getTime())?null:e}},390:(i,e,t)=>{"use strict";const r=t(375),o=t(7824);i.exports=o.extend({type:"function",properties:{typeof:"function"},rules:{arity:{method(t){return r(a(t)&&0<=t,"n must be a positive integer"),this.$_addRule({name:"arity",args:{n:t}})},validate:(a,e,{n:t})=>a.length===t?a:e.error("function.arity",{n:t})},class:{method(){return this.$_addRule("class")},validate:(a,e)=>/^\s*class\s/.test(a.toString())?a:e.error("function.class",{value:a})},minArity:{method(t){return r(a(t)&&0<t,"n must be a strict positive integer"),this.$_addRule({name:"minArity",args:{n:t}})},validate:(a,e,{n:t})=>a.length>=t?a:e.error("function.minArity",{n:t})},maxArity:{method(t){return r(a(t)&&0<=t,"n must be a positive integer"),this.$_addRule({name:"maxArity",args:{n:t}})},validate:(a,e,{n:t})=>a.length<=t?a:e.error("function.maxArity",{n:t})}},messages:{"function.arity":"{{#label}} must have an arity of {{#n}}","function.class":"{{#label}} must be a class","function.maxArity":"{{#label}} must have an arity lesser or equal to {{#n}}","function.minArity":"{{#label}} must have an arity greater or equal to {{#n}}"}})},7824:(d,e,t)=>{"use strict";const X=t(978),P=t(375),n=t(8571),a=t(3652),r=t(8068),K=t(8160),l=t(3292),c=t(6354),u=t(6133),g=t(3328),m={renameDefaults:{alias:!1,multiple:!1,override:!1}};d.exports=r.extend({type:"_keys",properties:{typeof:"object"},flags:{unknown:{default:!1}},terms:{dependencies:{init:null},keys:{init:null,manifest:{mapped:{from:"schema",to:"key"}}},patterns:{init:null},renames:{init:null}},args:(a,e)=>a.keys(e),validate(d,{schema:c,error:a,state:X,prefs:s}){if(!d||typeof d!==c.$_property("typeof")||Array.isArray(d))return{value:d,errors:a("object.base",{type:c.$_property("typeof")})};if(c.$_terms.renames||c.$_terms.dependencies||c.$_terms.keys||c.$_terms.patterns||c.$_terms.externals){d=m.clone(d,s);const e=[];if(c.$_terms.renames&&!m.rename(c,d,X,s,e))return{value:d,errors:e};if(!c.$_terms.keys&&!c.$_terms.patterns&&!c.$_terms.dependencies)return{value:d,errors:e};const a=new Set(Object.keys(d));if(c.$_terms.keys){const n=[d,...X.ancestors];for(const r of c.$_terms.keys){const i=r.key,t=d[i];a.delete(i);const o=X.localize([...X.path,i],n,r),c=r.schema.$_validate(t,o,s);if(c.errors){if(s.abortEarly)return{value:d,errors:c.errors};void 0!==c.value&&(d[i]=c.value),e.push(...c.errors)}else"strip"===r.schema._flags.result||void 0===c.value&&void 0!==t?delete d[i]:void 0!==c.value&&(d[i]=c.value)}}if(a.size||c._flags._hasPatternMatch){const t=m.unknown(c,d,a,e,X,s);if(t)return t}if(c.$_terms.dependencies)for(const a of c.$_terms.dependencies){if(a.key&&void 0===a.key.resolve(d,X,s,null,{shadow:!1}))continue;const t=m.dependencies[a.rel](c,a,d,X,s);if(t){const a=c.$_createError(t.code,d,t.context,X,s);if(s.abortEarly)return{value:d,errors:a};e.push(a)}}return{value:d,errors:e}}},rules:{and:{method(...a){return K.verifyFlat(a,"and"),m.dependency(this,"and",null,a)}},append:{method(a){return null==a||0===Object.keys(a).length?this:this.keys(a)}},assert:{method(a,n,i){g.isTemplate(a)||(a=l.ref(a)),P(void 0===i||"string"==typeof i,"Message must be a string"),n=this.$_compile(n,{appendPath:!0});const r=this.$_addRule({name:"assert",args:{subject:a,schema:n,message:i}});return r.$_mutateRegister(a),r.$_mutateRegister(n),r},validate(c,{error:e,prefs:t,state:r},{subject:s,schema:n,message:a}){const o=s.resolve(c,r,t),i=u.isRef(s)?s.absolute(r):[];return n.$_match(o,r.localize(i,[c,...r.ancestors],n),t)?c:e("object.assert",{subject:s,message:a})},args:["subject","schema","message"],multi:!0},instance:{method(a,e){return P("function"==typeof a,"constructor must be a function"),e=e||a.name,this.$_addRule({name:"instance",args:{constructor:a,name:e}})},validate:(a,e,{constructor:t,name:r})=>a instanceof t?a:e.error("object.instance",{type:r,value:a}),args:["constructor","name"]},keys:{method(a){P(void 0===a||"object"==typeof a,"Object schema must be a valid object"),P(!K.isSchema(a),"Object schema cannot be a joi schema");const e=this.clone();if(!a)e.$_terms.keys=null;else if(Object.keys(a).length)for(const t in e.$_terms.keys=e.$_terms.keys?e.$_terms.keys.filter(e=>!a.hasOwnProperty(e.key)):new m.Keys,a)K.tryWithPath(()=>e.$_terms.keys.push({key:t,schema:this.$_compile(a[t])}),t);else e.$_terms.keys=new m.Keys;return e.$_mutateRebuild()}},length:{method(a){return this.$_addRule({name:"length",args:{limit:a},operator:"="})},validate:(i,e,{limit:t},{name:r,operator:o,args:n})=>K.compare(Object.keys(i).length,t,o)?i:e.error("object."+r,{limit:n.limit,value:i}),args:[{name:"limit",ref:!0,assert:K.limit,message:"must be a positive integer"}]},max:{method(a){return this.$_addRule({name:"max",method:"length",args:{limit:a},operator:"<="})}},min:{method(a){return this.$_addRule({name:"min",method:"length",args:{limit:a},operator:">="})}},nand:{method(...a){return K.verifyFlat(a,"nand"),m.dependency(this,"nand",null,a)}},or:{method(...a){return K.verifyFlat(a,"or"),m.dependency(this,"or",null,a)}},oxor:{method(...a){return m.dependency(this,"oxor",null,a)}},pattern:{method(n,i,c={}){const r=n instanceof RegExp;r||(n=this.$_compile(n,{appendPath:!0})),P(void 0!==i,"Invalid rule"),K.assertOptions(c,["fallthrough","matches"]),r&&P(!n.flags.includes("g")&&!n.flags.includes("y"),"pattern should not use global or sticky mode"),i=this.$_compile(i,{appendPath:!0});const s=this.clone();s.$_terms.patterns=s.$_terms.patterns||[];const a={[r?"regex":"schema"]:n,rule:i};return c.matches&&(a.matches=this.$_compile(c.matches),"array"!==a.matches.type&&(a.matches=a.matches.$_root.array().items(a.matches)),s.$_mutateRegister(a.matches),s.$_setFlag("_hasPatternMatch",!0,{clone:!1})),c.fallthrough&&(a.fallthrough=!0),s.$_terms.patterns.push(a),s.$_mutateRegister(i),s}},ref:{method(){return this.$_addRule("ref")},validate:(a,e)=>u.isRef(a)?a:e.error("object.refType",{value:a})},regex:{method(){return this.$_addRule("regex")},validate:(a,e)=>a instanceof RegExp?a:e.error("object.regex",{value:a})},rename:{method(n,e,t={}){P("string"==typeof n||n instanceof RegExp,"Rename missing the from argument"),P("string"==typeof e||e instanceof g,"Invalid rename to argument"),P(e!==n,"Cannot rename key to same name:",n),K.assertOptions(t,["alias","ignoreUndefined","override","multiple"]);const r=this.clone();r.$_terms.renames=r.$_terms.renames||[];for(const a of r.$_terms.renames)P(a.from!==n,"Cannot rename the same key multiple times");return e instanceof g&&r.$_mutateRegister(e),r.$_terms.renames.push({from:n,to:e,options:X(m.renameDefaults,t)}),r}},schema:{method(a="any"){return this.$_addRule({name:"schema",args:{type:a}})},validate:(a,e,{type:t})=>K.isSchema(a)&&("any"===t||a.type===t)?a:e.error("object.schema",{type:t})},unknown:{method(a){return this.$_setFlag("unknown",!1!==a)}},with:{method(a,e,t={}){return m.dependency(this,"with",a,e,t)}},without:{method(a,e,t={}){return m.dependency(this,"without",a,e,t)}},xor:{method(...a){return K.verifyFlat(a,"xor"),m.dependency(this,"xor",null,a)}}},overrides:{default(a,r){return void 0===a&&(a=K.symbols.deepDefault),this.$_parent("default",a,r)}},rebuild(n){if(n.$_terms.keys){const e=new a.Sorter;for(const a of n.$_terms.keys)K.tryWithPath(()=>e.add(a,{after:a.schema.$_rootReferences(),group:a.key}),a.key);n.$_terms.keys=new m.Keys(...e.nodes)}},manifest:{build(i,c){if(c.keys&&(i=i.keys(c.keys)),c.dependencies)for(const{rel:e,key:a=null,peers:t,options:r}of c.dependencies)i=m.dependency(i,e,a,t,r);if(c.patterns)for(const{regex:e,schema:t,rule:r,fallthrough:n,matches:a}of c.patterns)i=i.pattern(e||t,r,{fallthrough:n,matches:a});if(c.renames)for(const{from:e,to:a,options:t}of c.renames)i=i.rename(e,a,t);return i}},messages:{"object.and":"{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}","object.assert":"{{#label}} is invalid because {if(#subject.key, `\"` + #subject.key + `\" failed to ` + (#message || \"pass the assertion test\"), #message || \"the assertion failed\")}","object.base":"{{#label}} must be of type {{#type}}","object.instance":"{{#label}} must be an instance of {{:#type}}","object.length":"{{#label}} must have {{#limit}} key{if(#limit == 1, \"\", \"s\")}","object.max":"{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, \"\", \"s\")}","object.min":"{{#label}} must have at least {{#limit}} key{if(#limit == 1, \"\", \"s\")}","object.missing":"{{#label}} must contain at least one of {{#peersWithLabels}}","object.nand":"{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}","object.oxor":"{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}","object.pattern.match":"{{#label}} keys failed to match pattern requirements","object.refType":"{{#label}} must be a Joi reference","object.regex":"{{#label}} must be a RegExp object","object.rename.multiple":"{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}","object.rename.override":"{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists","object.schema":"{{#label}} must be a Joi schema of {{#type}} type","object.unknown":"{{#label}} is not allowed","object.with":"{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}","object.without":"{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}","object.xor":"{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}"}}),m.clone=function(a,e){if("object"==typeof a){if(e.nonEnumerables)return n(a,{shallow:!0});const t=Object.create(Object.getPrototypeOf(a));return Object.assign(t,a),t}const t=function(...e){return a.apply(this,e)};return t.prototype=n(a.prototype),Object.defineProperty(t,"name",{value:a.name,writable:!1}),Object.defineProperty(t,"length",{value:a.length,writable:!1}),Object.assign(t,a),t},m.dependency=function(n,c,e,t,d){P(null===e||"string"==typeof e,c,"key must be a strings"),d||(d=1<t.length&&"object"==typeof t[t.length-1]?t.pop():{}),K.assertOptions(d,["separator"]),t=[].concat(t);const X=K.default(d.separator,"."),o=[];for(const a of t)P("string"==typeof a,c,"peers must be strings"),o.push(l.ref(a,{separator:X,ancestor:0,prefix:!1}));null!==e&&(e=l.ref(e,{separator:X,ancestor:0,prefix:!1}));const i=n.clone();return i.$_terms.dependencies=i.$_terms.dependencies||[],i.$_terms.dependencies.push(new m.Dependency(c,e,o,t)),i},m.dependencies={and(c,l,t,r,s){const n=[],a=[],e=l.peers.length;for(const i of l.peers)void 0===i.resolve(t,r,s,null,{shadow:!1})?n.push(i.key):a.push(i.key);if(n.length!==e&&a.length!==e)return{code:"object.and",context:{present:a,presentWithLabels:m.keysToLabels(c,a),missing:n,missingWithLabels:m.keysToLabels(c,n)}}},nand(c,l,t,r,i){const n=[];for(const a of l.peers)void 0!==a.resolve(t,r,i,null,{shadow:!1})&&n.push(a.key);if(n.length===l.peers.length){const e=l.paths[0],a=l.paths.slice(1);return{code:"object.nand",context:{main:e,mainWithLabel:m.keysToLabels(c,e),peers:a,peersWithLabels:m.keysToLabels(c,a)}}}},or(a,i,t,r,o){for(const n of i.peers)if(void 0!==n.resolve(t,r,o,null,{shadow:!1}))return;return{code:"object.missing",context:{peers:i.paths,peersWithLabels:m.keysToLabels(a,i.paths)}}},oxor(i,c,t,r,o){const n=[];for(const a of c.peers)void 0!==a.resolve(t,r,o,null,{shadow:!1})&&n.push(a.key);if(n.length&&1!==n.length){const e={peers:c.paths,peersWithLabels:m.keysToLabels(i,c.paths)};return e.present=n,e.presentWithLabels=m.keysToLabels(i,n),{code:"object.oxor",context:e}}},with(i,e,t,r,o){for(const n of e.peers)if(void 0===n.resolve(t,r,o,null,{shadow:!1}))return{code:"object.with",context:{main:e.key.key,mainWithLabel:m.keysToLabels(i,e.key.key),peer:n.key,peerWithLabel:m.keysToLabels(i,n.key)}}},without(i,e,t,r,o){for(const n of e.peers)if(void 0!==n.resolve(t,r,o,null,{shadow:!1}))return{code:"object.without",context:{main:e.key.key,mainWithLabel:m.keysToLabels(i,e.key.key),peer:n.key,peerWithLabel:m.keysToLabels(i,n.key)}}},xor(i,c,t,r,o){const n=[];for(const a of c.peers)void 0!==a.resolve(t,r,o,null,{shadow:!1})&&n.push(a.key);if(1!==n.length){const e={peers:c.paths,peersWithLabels:m.keysToLabels(i,c.paths)};return 0===n.length?{code:"object.missing",context:e}:(e.present=n,e.presentWithLabels=m.keysToLabels(i,n),{code:"object.xor",context:e})}}},m.keysToLabels=function(a,e){return Array.isArray(e)?e.map(e=>a.$_mapLabels(e)):a.$_mapLabels(e)},m.rename=function(c,d,e,t,r){const n={};for(const a of c.$_terms.renames){const o=[],s="string"!=typeof a.from;if(s)for(const t in d){if(void 0===d[t]&&a.options.ignoreUndefined)continue;if(t===a.to)continue;const e=a.from.exec(t);e&&o.push({from:t,to:a.to,match:e})}else!Object.prototype.hasOwnProperty.call(d,a.from)||void 0===d[a.from]&&a.options.ignoreUndefined||o.push(a);for(const l of o){const o=l.from;let i=l.to;if(i instanceof g&&(i=i.render(d,e,t,l.match)),o!==i){if(!a.options.multiple&&n[i]&&(r.push(c.$_createError("object.rename.multiple",d,{from:o,to:i,pattern:s},e,t)),t.abortEarly))return!1;if(Object.prototype.hasOwnProperty.call(d,i)&&!a.options.override&&!n[i]&&(r.push(c.$_createError("object.rename.override",d,{from:o,to:i,pattern:s},e,t)),t.abortEarly))return!1;void 0===d[o]?delete d[i]:d[i]=d[o],n[i]=!0,a.options.alias||delete d[o]}}}return!0},m.unknown=function(X,P,t,e,s,n){if(X.$_terms.patterns){let a=!1;const K=X.$_terms.patterns.map(t=>{if(t.matches)return a=!0,[]}),i=[P,...s.ancestors];for(const a of t){const r=P[a],o=[...s.path,a];for(let c=0;c<X.$_terms.patterns.length;++c){const l=X.$_terms.patterns[c];if(l.regex){const t=l.regex.test(a);if(s.mainstay.tracer.debug(s,"rule","pattern.".concat(c),t?"pass":"error"),!t)continue}else if(!l.schema.$_match(a,s.nest(l.schema,"pattern.".concat(c)),n))continue;t.delete(a);const u=s.localize(o,i,{schema:l.rule,key:a}),m=l.rule.$_validate(r,u,n);if(m.errors){if(n.abortEarly)return{value:P,errors:m.errors};e.push(...m.errors)}if(l.matches&&K[c].push(a),P[a]=m.value,!l.fallthrough)break}}if(a)for(let a=0;a<K.length;++a){const t=K[a];if(!t)continue;const r=X.$_terms.patterns[a].matches,o=s.localize(s.path,i,r),l=r.$_validate(t,o,n);if(l.errors){const a=c.details(l.errors,{override:!1});a.matches=t;const r=X.$_createError("object.pattern.match",P,a,s,n);if(n.abortEarly)return{value:P,errors:r};e.push(r)}}}if(t.size&&(X.$_terms.keys||X.$_terms.patterns)){if(n.stripUnknown&&!X._flags.unknown||n.skipFunctions){const a=n.stripUnknown&&(!0===n.stripUnknown||n.stripUnknown.objects);for(const e of t)a?(delete P[e],t.delete(e)):"function"==typeof P[e]&&t.delete(e)}if(!K.default(X._flags.unknown,n.allowUnknown))for(const a of t){const t=s.localize([...s.path,a],[]),r=X.$_createError("object.unknown",P[a],{child:a},t,n,{flags:!1});if(n.abortEarly)return{value:P,errors:r};e.push(r)}}},m.Dependency=class{constructor(a,e,t,r){this.rel=a,this.key=e,this.peers=t,this.paths=r}describe(){const a={rel:this.rel,peers:this.paths};return null!==this.key&&(a.key=this.key.key),"."!==this.peers[0].separator&&(a.options={separator:this.peers[0].separator}),a}},m.Keys=class extends Array{concat(a){const i=this.slice(),t=new Map;for(let r=0;r<i.length;++r)t.set(i[r].key,r);for(const r of a){const a=r.key,e=t.get(a);void 0===e?i.push(r):i[e]={key:a,schema:i[e].schema.concat(r.schema)}}return i}}},8785:(c,e,t)=>{"use strict";const u=t(375),r=t(8068),n=t(8160),a=t(3292),s=t(6354),d={};c.exports=r.extend({type:"link",properties:{schemaChain:!0},terms:{link:{init:null,manifest:"single",register:!1}},args:(a,e)=>a.ref(e),validate(i,{schema:e,state:t,prefs:r}){u(e.$_terms.link,"Uninitialized link schema");const n=d.generate(e,i,t,r),a=e.$_terms.link[0].ref;return n.$_validate(i,t.nest(n,"link:".concat(a.display,":").concat(n.type)),r)},generate:(a,e,t,r)=>d.generate(a,e,t,r),rules:{ref:{method(r){u(!this.$_terms.link,"Cannot reinitialize schema"),r=a.ref(r),u("value"===r.type||"local"===r.type,"Invalid reference type:",r.type),u("local"===r.type||"root"===r.ancestor||0<r.ancestor,"Link cannot reference itself");const n=this.clone();return n.$_terms.link=[{ref:r}],n}},relative:{method(a=!0){return this.$_setFlag("relative",a)}}},overrides:{concat(a){u(this.$_terms.link,"Uninitialized link schema"),u(n.isSchema(a),"Invalid schema object"),u("link"!==a.type,"Cannot merge type link with another link");const e=this.clone();return e.$_terms.whens||(e.$_terms.whens=[]),e.$_terms.whens.push({concat:a}),e.$_mutateRebuild()}},manifest:{build:(a,e)=>(u(e.link,"Invalid link description missing link"),a.ref(e.link))}}),d.generate=function(c,e,l,r){let t=l.mainstay.links.get(c);if(t)return t._generate(e,l,r).schema;const s=c.$_terms.link[0].ref,{perspective:a,path:o}=d.perspective(s,l);d.assert(a,"which is outside of schema boundaries",s,c,l,r);try{t=o.length?a.$_reach(o):a}catch(e){d.assert(!1,"to non-existing schema",s,c,l,r)}return d.assert("link"!==t.type,"which is another link",s,c,l,r),c._flags.relative||l.mainstay.links.set(c,t),t._generate(e,l,r).schema},d.perspective=function(a,e){if("local"===a.type){for(const{schema:n,key:t}of e.schemas){if((n._flags.id||t)===a.path[0])return{perspective:n,path:a.path.slice(1)};if(n.$_terms.shared)for(const e of n.$_terms.shared)if(e._flags.id===a.path[0])return{perspective:e,path:a.path.slice(1)}}return{perspective:null,path:null}}return"root"===a.ancestor?{perspective:e.schemas[e.schemas.length-1].schema,path:a.path}:{perspective:e.schemas[a.ancestor]&&e.schemas[a.ancestor].schema,path:a.path}},d.assert=function(i,e,t,r,n,a){i||u(!1,"\"".concat(s.label(r._flags,n,a),"\" contains link reference \"").concat(t.display,"\" ").concat(e))}},3832:(i,e,t)=>{"use strict";const r=t(375),c=t(8068),l=t(8160),u={numberRx:/^\s*[+-]?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:e([+-]?\d+))?\s*$/i,precisionRx:/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/};i.exports=c.extend({type:"number",flags:{unsafe:{default:!1}},coerce:{from:"string",method(a,{schema:i,error:o}){const t=a.match(u.numberRx);if(t){a=a.trim();const e={value:parseFloat(a)};if(0===e.value&&(e.value=0),!i._flags.unsafe)if(!a.match(/e/i)){const r=e.value.toString();if(r.match(/e/i))return e;if(r!==u.normalizeDecimal(a))return e.errors=o("number.unsafe"),e}else if(u.normalizeExponent("".concat(e.value/v(10,t[1]),"e").concat(t[1]))!==u.normalizeExponent(a))return e.errors=o("number.unsafe"),e;return e}}},validate(a,{schema:i,error:e,prefs:t}){if(a===1/0||a===-1/0)return{value:a,errors:e("number.infinity")};if(!l.isNumber(a))return{value:a,errors:e("number.base")};const r={value:a};if(t.convert){const a=i.$_getRule("precision");if(a){const e=v(10,a.args.limit);r.value=C(r.value*e)/e}}return 0===r.value&&(r.value=0),!i._flags.unsafe&&(a>Number.MAX_SAFE_INTEGER||a<Number.MIN_SAFE_INTEGER)&&(r.errors=e("number.unsafe")),r},rules:{compare:{method:!1,validate:(a,e,{limit:t},{name:r,operator:i,args:n})=>l.compare(a,t,i)?a:e.error("number."+r,{limit:n.limit,value:a}),args:[{name:"limit",ref:!0,assert:l.isNumber,message:"must be a number"}]},greater:{method(a){return this.$_addRule({name:"greater",method:"compare",args:{limit:a},operator:">"})}},integer:{method(){return this.$_addRule("integer")},validate:(a,e)=>0==Math.trunc(a)-a?a:e.error("number.integer")},less:{method(a){return this.$_addRule({name:"less",method:"compare",args:{limit:a},operator:"<"})}},max:{method(a){return this.$_addRule({name:"max",method:"compare",args:{limit:a},operator:"<="})}},min:{method(a){return this.$_addRule({name:"min",method:"compare",args:{limit:a},operator:">="})}},multiple:{method(a){return this.$_addRule({name:"multiple",args:{base:a}})},validate:(a,e,{base:t},r)=>0==a%t?a:e.error("number.multiple",{multiple:r.args.base,value:a}),args:[{name:"base",ref:!0,assert:a=>"number"==typeof a&&isFinite(a)&&0<a,message:"must be a positive number"}],multi:!0},negative:{method(){return this.sign("negative")}},port:{method(){return this.$_addRule("port")},validate:(r,e)=>a(r)&&0<=r&&65535>=r?r:e.error("number.port")},positive:{method(){return this.sign("positive")}},precision:{method(t){return r(a(t),"limit must be an integer"),this.$_addRule({name:"precision",args:{limit:t}})},validate(a,e,{limit:t}){const r=a.toString().match(u.precisionRx);return B((r[1]?r[1].length:0)-(r[2]?parseInt(r[2],10):0),0)<=t?a:e.error("number.precision",{limit:t,value:a})},convert:!0},sign:{method(a){return r(["negative","positive"].includes(a),"Invalid sign",a),this.$_addRule({name:"sign",args:{sign:a}})},validate:(a,e,{sign:t})=>"negative"===t&&0>a||"positive"===t&&0<a?a:e.error("number.".concat(t))},unsafe:{method(a=!0){return r("boolean"==typeof a,"enabled must be a boolean"),this.$_setFlag("unsafe",a)}}},cast:{string:{from:a=>"number"==typeof a,to:a=>a.toString()}},messages:{"number.base":"{{#label}} must be a number","number.greater":"{{#label}} must be greater than {{#limit}}","number.infinity":"{{#label}} cannot be infinity","number.integer":"{{#label}} must be an integer","number.less":"{{#label}} must be less than {{#limit}}","number.max":"{{#label}} must be less than or equal to {{#limit}}","number.min":"{{#label}} must be greater than or equal to {{#limit}}","number.multiple":"{{#label}} must be a multiple of {{#multiple}}","number.negative":"{{#label}} must be a negative number","number.port":"{{#label}} must be a valid port","number.positive":"{{#label}} must be a positive number","number.precision":"{{#label}} must have no more than {{#limit}} decimal places","number.unsafe":"{{#label}} must be a safe number"}}),u.normalizeExponent=function(a){return a.replace(/E/,"e").replace(/\.(\d*[1-9])?0+e/,".$1e").replace(/\.e/,"e").replace(/e\+/,"e").replace(/^\+/,"").replace(/^(-?)0+([1-9])/,"$1$2")},u.normalizeDecimal=function(a){return(a=a.replace(/^\+/,"").replace(/\.0*$/,"").replace(/^(-?)\.([^\.]*)$/,"$10.$2").replace(/^(-?)0+([0-9])/,"$1$2")).includes(".")&&a.endsWith("0")&&(a=a.replace(/0+$/,"")),"-0"===a?"0":a}},8966:(a,e,t)=>{"use strict";const r=t(7824);a.exports=r.extend({type:"object",cast:{map:{from:a=>a&&"object"==typeof a,to:a=>new Map(Object.entries(a))}}})},7417:(X,e,t)=>{"use strict";function P(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})),t.push.apply(t,r)}return t}function r(a){for(var e=1,i;e<arguments.length;e++)i=null==arguments[e]?{}:arguments[e],e%2?P(Object(i),!0).forEach(function(e){n(a,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(i)):P(Object(i)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(i,e))});return a}function n(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}const K=t(375),g=t(5380),i=t(1745),o=t(9959),c=t(6064),s=t(9926),l=t(5752),u=t(8068),m=t(8160),d={tlds:s instanceof Set&&{tlds:{allow:s,deny:null}},base64Regex:{true:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}==|[\w\-]{3}=)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/},false:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}(==)?|[\w\-]{3}=?)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}(==)?|[A-Za-z0-9+\/]{3}=?)?$/}},dataUriRegex:/^data:[\w+.-]+\/[\w+.-]+;((charset=[\w-]+|base64),)?(.*)$/,hexRegex:/^[a-f0-9]+$/i,ipRegex:o.regex().regex,isoDurationRegex:/^P(?!$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?$/,guidBrackets:{"{":"}","[":"]","(":")","":""},guidVersions:{uuidv1:"1",uuidv2:"2",uuidv3:"3",uuidv4:"4",uuidv5:"5"},guidSeparators:new Set([void 0,!0,!1,"-",":"]),normalizationForms:["NFC","NFD","NFKC","NFKD"]};X.exports=u.extend({type:"string",flags:{insensitive:{default:!1},truncate:{default:!1}},terms:{replacements:{init:null}},coerce:{from:"string",method(c,{schema:l,state:t,prefs:r}){const s=l.$_getRule("normalize");s&&(c=c.normalize(s.args.form));const n=l.$_getRule("case");n&&(c="upper"===n.args.direction?c.toLocaleUpperCase():c.toLocaleLowerCase());const a=l.$_getRule("trim");if(a&&a.args.enabled&&(c=c.trim()),l.$_terms.replacements)for(const e of l.$_terms.replacements)c=c.replace(e.pattern,e.replacement);const o=l.$_getRule("hex");if(o&&o.args.options.byteAligned&&0!=c.length%2&&(c="0".concat(c)),l.$_getRule("isoDate")){const e=d.isoDate(c);e&&(c=e)}if(l._flags.truncate){const e=l.$_getRule("max");if(e){let n=e.args.limit;if(m.isResolvable(n)&&(n=n.resolve(c,t,r),!m.limit(n)))return{value:c,errors:l.$_createError("any.ref",n,{ref:e.args.limit,arg:"limit",reason:"must be a positive integer"},t,r)};c=c.slice(0,n)}}return{value:c}}},validate:(a,{error:e})=>"string"==typeof a?""===a?{value:a,errors:e("string.empty")}:void 0:{value:a,errors:e("string.base")},rules:{alphanum:{method(){return this.$_addRule("alphanum")},validate:(a,e)=>/^[a-zA-Z0-9]+$/.test(a)?a:e.error("string.alphanum")},base64:{method(a={}){return m.assertOptions(a,["paddingRequired","urlSafe"]),a=r({urlSafe:!1,paddingRequired:!0},a),K("boolean"==typeof a.paddingRequired,"paddingRequired must be boolean"),K("boolean"==typeof a.urlSafe,"urlSafe must be boolean"),this.$_addRule({name:"base64",args:{options:a}})},validate:(a,e,{options:t})=>d.base64Regex[t.paddingRequired][t.urlSafe].test(a)?a:e.error("string.base64")},case:{method(a){return K(["lower","upper"].includes(a),"Invalid case:",a),this.$_addRule({name:"case",args:{direction:a}})},validate:(a,e,{direction:t})=>"lower"===t&&a===a.toLocaleLowerCase()||"upper"===t&&a===a.toLocaleUpperCase()?a:e.error("string.".concat(t,"case")),convert:!0},creditCard:{method(){return this.$_addRule("creditCard")},validate(a,e){let i=a.length,o=0,c=1;for(;i--;){const e=a.charAt(i)*c;o+=e-9*(9<e),c^=3}return 0<o&&0==o%10?a:e.error("string.creditCard")}},dataUri:{method(a={}){return m.assertOptions(a,["paddingRequired"]),a=r({paddingRequired:!0},a),K("boolean"==typeof a.paddingRequired,"paddingRequired must be boolean"),this.$_addRule({name:"dataUri",args:{options:a}})},validate(a,e,{options:t}){const r=a.match(d.dataUriRegex);if(r){if(!r[2])return a;if("base64"!==r[2])return a;if(d.base64Regex[t.paddingRequired].false.test(r[3]))return a}return e.error("string.dataUri")}},domain:{method(a){a&&m.assertOptions(a,["allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);const e=d.addressOptions(a);return this.$_addRule({name:"domain",args:{options:a},address:e})},validate:(a,e,t,{address:r})=>g.isValid(a,r)?a:e.error("string.domain")},email:{method(a={}){m.assertOptions(a,["allowUnicode","ignoreLength","maxDomainSegments","minDomainSegments","multiple","separator","tlds"]),K(void 0===a.multiple||"boolean"==typeof a.multiple,"multiple option must be an boolean");const e=d.addressOptions(a),t=new RegExp("\\s*[".concat(a.separator?c(a.separator):",","]\\s*"));return this.$_addRule({name:"email",args:{options:a},regex:t,address:e})},validate(c,e,{options:t},{regex:r,address:s}){const n=t.multiple?c.split(r):[c],a=[];for(const o of n)i.isValid(o,s)||a.push(o);return a.length?e.error("string.email",{value:c,invalids:a}):c}},guid:{alias:"uuid",method(a={}){m.assertOptions(a,["version","separator"]);let i="";if(a.version){const t=[].concat(a.version);K(1<=t.length,"version must have at least 1 valid version specified");const r=new Set;for(let o=0;o<t.length;++o){const e=t[o];K("string"==typeof e,"version at position "+o+" must be a string");const n=d.guidVersions[e.toLowerCase()];K(n,"version at position "+o+" must be one of "+Object.keys(d.guidVersions).join(", ")),K(!r.has(n),"version at position "+o+" must not be a duplicate"),i+=n,r.add(n)}}K(d.guidSeparators.has(a.separator),"separator must be one of true, false, \"-\", or \":\"");const e=void 0===a.separator?"[:-]?":!0===a.separator?"[:-]":!1===a.separator?"[]?":"\\".concat(a.separator),r=new RegExp("^([\\[{\\(]?)[0-9A-F]{8}(".concat(e,")[0-9A-F]{4}\\2?[").concat(i||"0-9A-F","][0-9A-F]{3}\\2?[").concat(i?"89AB":"0-9A-F","][0-9A-F]{3}\\2?[0-9A-F]{12}([\\]}\\)]?)$"),"i");return this.$_addRule({name:"guid",args:{options:a},regex:r})},validate(a,e,t,{regex:r}){const i=r.exec(a);return i?d.guidBrackets[i[1]]===i[i.length-1]?a:e.error("string.guid"):e.error("string.guid")}},hex:{method(a={}){return m.assertOptions(a,["byteAligned"]),a=r({byteAligned:!1},a),K("boolean"==typeof a.byteAligned,"byteAligned must be boolean"),this.$_addRule({name:"hex",args:{options:a}})},validate:(a,e,{options:t})=>d.hexRegex.test(a)?t.byteAligned&&0!=a.length%2?e.error("string.hexAlign"):a:e.error("string.hex")},hostname:{method(){return this.$_addRule("hostname")},validate:(a,e)=>g.isValid(a,{minDomainSegments:1})||d.ipRegex.test(a)?a:e.error("string.hostname")},insensitive:{method(){return this.$_setFlag("insensitive",!0)}},ip:{method(a={}){m.assertOptions(a,["cidr","version"]);const{cidr:e,versions:t,regex:r}=o.regex(a),i=a.version?t:void 0;return this.$_addRule({name:"ip",args:{options:{cidr:e,version:i}},regex:r})},validate:(a,e,{options:t},{regex:r})=>r.test(a)?a:t.version?e.error("string.ipVersion",{value:a,cidr:t.cidr,version:t.version}):e.error("string.ip",{value:a,cidr:t.cidr})},isoDate:{method(){return this.$_addRule("isoDate")},validate:(a,{error:e})=>d.isoDate(a)?a:e("string.isoDate")},isoDuration:{method(){return this.$_addRule("isoDuration")},validate:(a,e)=>d.isoDurationRegex.test(a)?a:e.error("string.isoDuration")},length:{method(a,e){return d.length(this,"length",a,"=",e)},validate(c,e,{limit:t,encoding:r},{name:s,operator:n,args:a}){const o=!r&&c.length;return m.compare(o,t,n)?c:e.error("string."+s,{limit:a.limit,value:c,encoding:r})},args:[{name:"limit",ref:!0,assert:m.limit,message:"must be a positive integer"},"encoding"]},lowercase:{method(){return this.case("lower")}},max:{method(a,e){return d.length(this,"max",a,"<=",e)},args:["limit","encoding"]},min:{method(a,e){return d.length(this,"min",a,">=",e)},args:["limit","encoding"]},normalize:{method(a="NFC"){return K(d.normalizationForms.includes(a),"normalization form must be one of "+d.normalizationForms.join(", ")),this.$_addRule({name:"normalize",args:{form:a}})},validate:(a,{error:e},{form:t})=>a===a.normalize(t)?a:e("string.normalize",{value:a,form:t}),convert:!0},pattern:{alias:"regex",method(a,e={}){K(a instanceof RegExp,"regex must be a RegExp"),K(!a.flags.includes("g")&&!a.flags.includes("y"),"regex should not use global or sticky mode"),"string"==typeof e&&(e={name:e}),m.assertOptions(e,["invert","name"]);const n=["string.pattern",e.invert?".invert":"",e.name?".name":".base"].join("");return this.$_addRule({name:"pattern",args:{regex:a,options:e},errorCode:n})},validate:(a,e,{regex:t,options:r},{errorCode:i})=>t.test(a)^r.invert?a:e.error(i,{name:r.name,regex:t,value:a}),args:["regex","options"],multi:!0},replace:{method(a,n){"string"==typeof a&&(a=new RegExp(c(a),"g")),K(a instanceof RegExp,"pattern must be a RegExp"),K("string"==typeof n,"replacement must be a String");const t=this.clone();return t.$_terms.replacements||(t.$_terms.replacements=[]),t.$_terms.replacements.push({pattern:a,replacement:n}),t}},token:{method(){return this.$_addRule("token")},validate:(a,e)=>/^\w+$/.test(a)?a:e.error("string.token")},trim:{method(a=!0){return K("boolean"==typeof a,"enabled must be a boolean"),this.$_addRule({name:"trim",args:{enabled:a}})},validate:(a,e,{enabled:t})=>t&&a!==a.trim()?e.error("string.trim"):a,convert:!0},truncate:{method(a=!0){return K("boolean"==typeof a,"enabled must be a boolean"),this.$_setFlag("truncate",a)}},uppercase:{method(){return this.case("upper")}},uri:{method(a={}){m.assertOptions(a,["allowRelative","allowQuerySquareBrackets","domain","relativeOnly","scheme"]),a.domain&&m.assertOptions(a.domain,["allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);const{regex:e,scheme:t}=l.regex(a),r=a.domain?d.addressOptions(a.domain):null;return this.$_addRule({name:"uri",args:{options:a},regex:e,domain:r,scheme:t})},validate(i,e,{options:t},{regex:r,domain:c,scheme:n}){if(["http:/","https:/"].includes(i))return e.error("string.uri");const a=r.exec(i);if(a){const r=a[1]||a[2];return!c||t.allowRelative&&!r||g.isValid(r,c)?i:e.error("string.domain",{value:r})}return t.relativeOnly?e.error("string.uriRelativeOnly"):t.scheme?e.error("string.uriCustomScheme",{scheme:n,value:i}):e.error("string.uri")}}},manifest:{build(a,n){if(n.replacements)for(const{pattern:e,replacement:t}of n.replacements)a=a.replace(e,t);return a}},messages:{"string.alphanum":"{{#label}} must only contain alpha-numeric characters","string.base":"{{#label}} must be a string","string.base64":"{{#label}} must be a valid base64 string","string.creditCard":"{{#label}} must be a credit card","string.dataUri":"{{#label}} must be a valid dataUri string","string.domain":"{{#label}} must contain a valid domain name","string.email":"{{#label}} must be a valid email","string.empty":"{{#label}} is not allowed to be empty","string.guid":"{{#label}} must be a valid GUID","string.hex":"{{#label}} must only contain hexadecimal characters","string.hexAlign":"{{#label}} hex decoded representation must be byte aligned","string.hostname":"{{#label}} must be a valid hostname","string.ip":"{{#label}} must be a valid ip address with a {{#cidr}} CIDR","string.ipVersion":"{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR","string.isoDate":"{{#label}} must be in iso format","string.isoDuration":"{{#label}} must be a valid ISO 8601 duration","string.length":"{{#label}} length must be {{#limit}} characters long","string.lowercase":"{{#label}} must only contain lowercase characters","string.max":"{{#label}} length must be less than or equal to {{#limit}} characters long","string.min":"{{#label}} length must be at least {{#limit}} characters long","string.normalize":"{{#label}} must be unicode normalized in the {{#form}} form","string.token":"{{#label}} must only contain alpha-numeric and underscore characters","string.pattern.base":"{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}","string.pattern.name":"{{#label}} with value {:[.]} fails to match the {{#name}} pattern","string.pattern.invert.base":"{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}","string.pattern.invert.name":"{{#label}} with value {:[.]} matches the inverted {{#name}} pattern","string.trim":"{{#label}} must not have leading or trailing whitespace","string.uri":"{{#label}} must be a valid uri","string.uriCustomScheme":"{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern","string.uriRelativeOnly":"{{#label}} must be a valid relative uri","string.uppercase":"{{#label}} must only contain uppercase characters"}}),d.addressOptions=function(n){if(!n)return n;if(K(void 0===n.minDomainSegments||a(n.minDomainSegments)&&0<n.minDomainSegments,"minDomainSegments must be a positive integer"),K(void 0===n.maxDomainSegments||a(n.maxDomainSegments)&&0<n.maxDomainSegments,"maxDomainSegments must be a positive integer"),!1===n.tlds)return n;if(!0===n.tlds||void 0===n.tlds)return K(d.tlds,"Built-in TLD list disabled"),Object.assign({},n,d.tlds);K("object"==typeof n.tlds,"tlds must be true, false, or an object");const i=n.tlds.deny;if(i)return Array.isArray(i)&&(n=Object.assign({},n,{tlds:{deny:new Set(i)}})),K(n.tlds.deny instanceof Set,"tlds.deny must be an array, Set, or boolean"),K(!n.tlds.allow,"Cannot specify both tlds.allow and tlds.deny lists"),d.validateTlds(n.tlds.deny,"tlds.deny"),n;const t=n.tlds.allow;return t?!0===t?(K(d.tlds,"Built-in TLD list disabled"),Object.assign({},n,d.tlds)):(Array.isArray(t)&&(n=Object.assign({},n,{tlds:{allow:new Set(t)}})),K(n.tlds.allow instanceof Set,"tlds.allow must be an array, Set, or boolean"),d.validateTlds(n.tlds.allow,"tlds.allow"),n):n},d.validateTlds=function(a,e){for(const t of a)K(g.isValid(t,{minDomainSegments:1,maxDomainSegments:1}),"".concat(e," must contain valid top level domain names"))},d.isoDate=function(a){if(!m.isIsoDate(a))return null;/.*T.*[+-]\d\d$/.test(a)&&(a+="00");const r=new Date(a);return isNaN(r.getTime())?null:r.toISOString()},d.length=function(a,e,t,r,i){return K(!i||!1,"Invalid encoding:",i),a.$_addRule({name:e,method:"length",args:{limit:t,encoding:i},operator:r})}},8826:(i,e,t)=>{"use strict";const o=t(375),r=t(8068),n={};n.Map=class extends Map{slice(){return new n.Map(this)}},i.exports=r.extend({type:"symbol",terms:{map:{init:new n.Map}},coerce:{method(a,{schema:n,error:t}){const r=n.$_terms.map.get(a);return r&&(a=r),n._flags.only&&"symbol"!=typeof a?{value:a,errors:t("symbol.map",{map:n.$_terms.map})}:{value:a}}},validate(a,{error:e}){if("symbol"!=typeof a)return{value:a,errors:e("symbol.base")}},rules:{map:{method(a){a&&!a[Symbol.iterator]&&"object"==typeof a&&(a=Object.entries(a)),o(a&&a[Symbol.iterator],"Iterable must be an iterable or object");const i=this.clone(),t=[];for(const r of a){o(r&&r[Symbol.iterator],"Entry must be an iterable");const[n,e]=r;o("object"!=typeof n&&"function"!=typeof n&&"symbol"!=typeof n,"Key must not be of type object, function, or Symbol"),o("symbol"==typeof e,"Value must be a Symbol"),i.$_terms.map.set(n,e),t.push(e)}return i.valid(...t)}}},manifest:{build:(a,e)=>(e.map&&(a=a.map(e.map)),a)},messages:{"symbol.base":"{{#label}} must be a symbol","symbol.map":"{{#label}} must be one of {{#map}}"}})},8863:(d,X,e)=>{"use strict";const m=e(375),P=e(8571),t=e(738),K=e(9621),g=e(8160),p=e(6354),l=e(493),y={result:Symbol("result")};X.entry=function(i,e,t){let r=g.defaults;t&&(m(void 0===t.warnings,"Cannot override warnings preference in synchronous validation"),m(void 0===t.artifacts,"Cannot override artifacts preference in synchronous validation"),r=g.preferences(g.defaults,t));const c=y.entry(i,e,r);m(!c.mainstay.externals.length,"Schema with external rules must use validateAsync()");const a={value:c.value};return c.error&&(a.error=c.error),c.mainstay.warnings.length&&(a.warning=p.details(c.mainstay.warnings)),c.mainstay.debug&&(a.debug=c.mainstay.debug),c.mainstay.artifacts&&(a.artifacts=c.mainstay.artifacts),a},X.entryAsync=async function(i,e,o){let t=g.defaults;o&&(t=g.preferences(g.defaults,o));const r=y.entry(i,e,t),l=r.mainstay;if(r.error)throw l.debug&&(r.error.debug=l.debug),r.error;if(l.externals.length){let c=r.value;for(const{method:e,path:t,label:a}of l.externals){let r=c,n,l;t.length&&(n=t[t.length-1],l=K(c,t.slice(0,-1)),r=l[n]);try{const a=await e(r,{prefs:o});if(void 0===a||a===r)continue;l?l[n]=a:c=a}catch(t){throw t.message+=" (".concat(a,")"),t}}r.value=c}if(!t.warnings&&!t.debug&&!t.artifacts)return r.value;const a={value:r.value};return l.warnings.length&&(a.warning=p.details(l.warnings)),l.debug&&(a.debug=l.debug),l.artifacts&&(a.artifacts=l.artifacts),a},y.entry=function(t,e,r){const{tracer:c,cleanup:n}=y.tracer(e,r),a={externals:[],warnings:[],tracer:c,debug:r.debug?[]:null,links:e._ids._schemaChain?new Map:null},o=e._ids._schemaChain?[{schema:e}]:null,i=new l([],[],{mainstay:a,schemas:o}),s=X.validate(t,e,i,r);n&&e.$_root.untrace();const u=p.process(s.errors,t,r);return{value:s.value,error:u,mainstay:a}},y.tracer=function(a,e){return a.$_root._tracer?{tracer:a.$_root._tracer._register(a)}:e.debug?(m(a.$_root.trace,"Debug mode not supported"),{tracer:a.$_root.trace()._register(a),cleanup:!0}):{tracer:y.ignore}},X.validate=function(i,u,d,r,X={}){if(u.$_terms.whens&&(u=u._generate(i,d,r).schema),u._preferences&&(r=y.prefs(u,r)),u._cache&&r.cache){const e=u._cache.get(i);if(d.mainstay.tracer.debug(d,"validate","cached",!!e),e)return e}const n=(e,t,a)=>u.$_createError(e,i,t,a||d,r),P={original:i,prefs:r,schema:u,state:d,error:n,errorsArray:y.errorsArray,warn:(a,e,t)=>d.mainstay.warnings.push(n(a,e,t)),message:(e,t)=>u.$_createError("custom",i,t,d,r,{messages:e})};d.mainstay.tracer.entry(u,d);const a=u._definition;if(a.prepare&&void 0!==i&&r.convert){const e=a.prepare(i,P);if(e){if(d.mainstay.tracer.value(d,"prepare",i,e.value),e.errors)return y.finalize(e.value,[].concat(e.errors),P);i=e.value}}if(a.coerce&&void 0!==i&&r.convert&&(!a.coerce.from||a.coerce.from.includes(typeof i))){const e=a.coerce.method(i,P);if(e){if(d.mainstay.tracer.value(d,"coerced",i,e.value),e.errors)return y.finalize(e.value,[].concat(e.errors),P);i=e.value}}const o=u._flags.empty;o&&o.$_match(y.trim(i,u),d.nest(o),g.defaults)&&(d.mainstay.tracer.value(d,"empty",i,void 0),i=void 0);const c=X.presence||u._flags.presence||(u._flags._endedSwitch?null:r.presence);if(void 0===i){if("forbidden"===c)return y.finalize(i,null,P);if("required"===c)return y.finalize(i,[u.$_createError("any.required",i,null,d,r)],P);if("optional"===c){if(u._flags.default!==g.symbols.deepDefault)return y.finalize(i,null,P);d.mainstay.tracer.value(d,"default",i,{}),i={}}}else if("forbidden"===c)return y.finalize(i,[u.$_createError("any.unknown",i,null,d,r)],P);const l=[];if(u._valids){const e=u._valids.get(i,d,r,u._flags.insensitive);if(e)return r.convert&&(d.mainstay.tracer.value(d,"valids",i,e.value),i=e.value),d.mainstay.tracer.filter(u,d,"valid",e),y.finalize(i,null,P);if(u._flags.only){const e=u.$_createError("any.only",i,{valids:u._valids.values({display:!0})},d,r);if(r.abortEarly)return y.finalize(i,[e],P);l.push(e)}}if(u._invalids){const e=u._invalids.get(i,d,r,u._flags.insensitive);if(e){d.mainstay.tracer.filter(u,d,"invalid",e);const t=u.$_createError("any.invalid",i,{invalids:u._invalids.values({display:!0})},d,r);if(r.abortEarly)return y.finalize(i,[t],P);l.push(t)}}if(a.validate){const e=a.validate(i,P);if(e&&(d.mainstay.tracer.value(d,"base",i,e.value),i=e.value,e.errors)){if(!Array.isArray(e.errors))return l.push(e.errors),y.finalize(i,l,P);if(e.errors.length)return l.push(...e.errors),y.finalize(i,l,P)}}return u._rules.length?y.rules(i,l,P):y.finalize(i,l,P)},y.rules=function(i,c,t){const{schema:r,state:s,prefs:n}=t;for(const e of r._rules){const a=r._definition.rules[e.method];if(a.convert&&n.convert){s.mainstay.tracer.log(r,s,"rule",e.name,"full");continue}let l=e.args,u;if(e._resolve.length){l=Object.assign({},l);for(const c of e._resolve){const e=a.argsByName.get(c),t=l[c].resolve(i,s,n),o=e.normalize?e.normalize(t):t,d=g.validateArg(o,null,e);if(d){u=r.$_createError("any.ref",t,{arg:c,ref:l[c],reason:d},s,n);break}l[c]=o}}u=u||a.validate(i,t,l,e);const o=y.rule(u,e);if(o.errors){if(s.mainstay.tracer.log(r,s,"rule",e.name,"error"),e.warn){s.mainstay.warnings.push(...o.errors);continue}if(n.abortEarly)return y.finalize(i,o.errors,t);c.push(...o.errors)}else s.mainstay.tracer.log(r,s,"rule",e.name,"pass"),s.mainstay.tracer.value(s,"rule",i,o.value,e.name),i=o.value}return y.finalize(i,c,t)},y.rule=function(a,r){return a instanceof p.Report?(y.error(a,r),{errors:[a],value:null}):Array.isArray(a)&&a[g.symbols.errors]?(a.forEach(a=>y.error(a,r)),{errors:a,value:null}):{errors:null,value:a}},y.error=function(a,e){return e.message&&a._setTemplate(e.message),a},y.finalize=function(c,l,u){l=l||[];const{schema:r,state:n,prefs:a}=u;if(l.length){const e=y.default("failover",void 0,l,u);void 0!==e&&(n.mainstay.tracer.value(n,"failover",c,e),c=e,l=[])}if(l.length&&r._flags.error)if("function"==typeof r._flags.error){l=r._flags.error(l),Array.isArray(l)||(l=[l]);for(const a of l)m(a instanceof Error||a instanceof p.Report,"error() must return an Error object")}else l=[r._flags.error];if(void 0===c){const e=y.default("default",c,l,u);n.mainstay.tracer.value(n,"default",c,e),c=e}if(r._flags.cast&&void 0!==c){const e=r._definition.cast[r._flags.cast];if(e.from(c)){const a=e.to(c,u);n.mainstay.tracer.value(n,"cast",c,a,r._flags.cast),c=a}}if(r.$_terms.externals&&a.externals&&!1!==a._externals)for(const{method:t}of r.$_terms.externals)n.mainstay.externals.push({method:t,path:n.path,label:p.label(r._flags,n,a)});const o={value:c,errors:l.length?l:null};return r._flags.result&&(o.value="strip"===r._flags.result?void 0:u.original,n.mainstay.tracer.value(n,r._flags.result,c,o.value),n.shadow(c,r._flags.result)),r._cache&&!1!==a.cache&&!r._refs.length&&r._cache.set(u.original,o),void 0===c||o.errors||void 0===r._flags.artifact||(n.mainstay.artifacts=n.mainstay.artifacts||new Map,n.mainstay.artifacts.has(r._flags.artifact)||n.mainstay.artifacts.set(r._flags.artifact,[]),n.mainstay.artifacts.get(r._flags.artifact).push(n.path)),o},y.prefs=function(a,e){const n=e===g.defaults;return n&&a._preferences[g.symbols.prefs]?a._preferences[g.symbols.prefs]:(e=g.preferences(e,a._preferences),n&&(a._preferences[g.symbols.prefs]=e),e)},y.default=function(n,e,i,r){const{schema:s,state:a,prefs:o}=r,l=s._flags[n];if(o.noDefaults||void 0===l)return e;if(a.mainstay.tracer.log(s,a,"rule",n,"full"),!l)return l;if("function"==typeof l){const e=l.length?[P(a.ancestors[0]),r]:[];try{return l(...e)}catch(e){return void i.push(s.$_createError("any.".concat(n),null,{error:e},a,o))}}return"object"==typeof l?l[g.symbols.literal]?l.literal:g.isResolvable(l)?l.resolve(e,a,o):P(l):l},y.trim=function(a,e){if("string"!=typeof a)return a;const t=e.$_getRule("trim");return t&&t.args.enabled?a.trim():a},y.ignore={active:!1,debug:t,entry:t,filter:t,log:t,resolve:t,value:t},y.errorsArray=function(){const a=[];return a[g.symbols.errors]=!0,a}},2036:(i,e,t)=>{"use strict";const r=t(375),c=t(9474),n=t(8160),a={};i.exports=a.Values=class{constructor(r,e){this._values=new Set(r),this._refs=new Set(e),this._lowercase=a.lowercases(r),this._override=!1}get length(){return this._values.size+this._refs.size}add(a,e){n.isResolvable(a)?this._refs.has(a)||(this._refs.add(a),e&&e.register(a)):this.has(a,null,null,!1)||(this._values.add(a),"string"==typeof a&&this._lowercase.set(a.toLowerCase(),a))}static merge(n,i,o){if(n=n||new a.Values,i){if(i._override)return i.clone();for(const e of[...i._values,...i._refs])n.add(e)}if(o)for(const e of[...o._values,...o._refs])n.remove(e);return n.length?n:null}remove(a){n.isResolvable(a)?this._refs.delete(a):(this._values.delete(a),"string"==typeof a&&this._lowercase.delete(a.toLowerCase()))}has(a,e,t,r){return!!this.get(a,e,t,r)}get(n,e,t,r){if(!this.length)return!1;if(this._values.has(n))return{value:n};if("string"==typeof n&&n&&r){const e=this._lowercase.get(n.toLowerCase());if(e)return{value:e}}if(!this._refs.size&&"object"!=typeof n)return!1;if("object"==typeof n)for(const e of this._values)if(c(e,n))return{value:e};if(e)for(const s of this._refs){const a=s.resolve(n,e,t,null,{in:!0});if(void 0===a)continue;const o=s.in&&"object"==typeof a?Array.isArray(a)?a:Object.keys(a):[a];for(const e of o)if(typeof e==typeof n)if(r&&n&&"string"==typeof n){if(e.toLowerCase()===n.toLowerCase())return{value:e,ref:s};}else if(c(e,n))return{value:e,ref:s}}return!1}override(){this._override=!0}values(a){if(a&&a.display){const a=[];for(const e of[...this._values,...this._refs])void 0!==e&&a.push(e);return a}return Array.from([...this._values,...this._refs])}clone(){const t=new a.Values(this._values,this._refs);return t._override=this._override,t}concat(n){r(!n._override,"Cannot concat override set of values");const e=new a.Values([...this._values,...n._values],[...this._refs,...n._refs]);return e._override=this._override,e}describe(){const a=[];this._override&&a.push({override:!0});for(const e of this._values.values())a.push(e&&"object"==typeof e?{value:e}:e);for(const e of this._refs.values())a.push(e.describe());return a}},a.Values.prototype[n.symbols.values]=!0,a.Values.prototype.slice=a.Values.prototype.clone,a.lowercases=function(a){const e=new Map;if(a)for(const t of a)"string"==typeof t&&e.set(t.toLowerCase(),t);return e}},978:(c,e,t)=>{"use strict";const d=t(375),s=t(8571),n=t(1687),a=t(9621),X={};c.exports=function(a,e,t={}){if(d(a&&"object"==typeof a,"Invalid defaults value: must be an object"),d(!e||!0===e||"object"==typeof e,"Invalid source value: must be true, falsy or an object"),d("object"==typeof t,"Invalid options: must be an object"),!e)return null;if(t.shallow)return X.applyToDefaultsWithShallow(a,e,t);const r=s(a);if(!0===e)return r;const i=void 0!==t.nullOverride&&t.nullOverride;return n(r,e,{nullOverride:i,mergeArrays:!1})},X.applyToDefaultsWithShallow=function(i,o,e){const t=e.shallow;d(Array.isArray(t),"Invalid keys");const l=new Map,c=!0===o?null:new Set;for(let n of t){n=Array.isArray(n)?n:n.split(".");const e=a(i,n);e&&"object"==typeof e?l.set(e,c&&a(o,n)||e):c&&c.add(n)}const r=s(i,{},l);if(!c)return r;for(const a of c)X.reachCopy(r,o,a);const u=void 0!==e.nullOverride&&e.nullOverride;return n(r,o,{nullOverride:u,mergeArrays:!1})},X.reachCopy=function(a,i,o){for(const t of o){if(!(t in i))return;const e=i[t];if("object"!=typeof e||null===e)return;i=e}const e=i;let r=a;for(let n=0;n<o.length-1;++n){const e=o[n];"object"!=typeof r[e]&&(r[e]={}),r=r[e]}r[o[o.length-1]]=e}},375:(a,e,t)=>{"use strict";const r=t(7916);a.exports=function(a,...e){if(!a){if(1===e.length&&e[0]instanceof Error)throw e[0];throw new r(e)}}},8571:(i,e,t)=>{"use strict";const c=t(9621),d=t(4277),n=t(7043),a={needsProtoHack:new Set([d.set,d.map,d.weakSet,d.weakMap])};i.exports=a.clone=function(o,e={},t=null){if("object"!=typeof o||null===o)return o;let X=a.clone,m=t;if(e.shallow){if(!0!==e.shallow)return a.cloneWithShallow(o,e);X=a=>a}else if(m){const e=m.get(o);if(e)return e}else m=new Map;const P=d.getInternalProto(o);if(P===d.buffer)return!1;if(P===d.date)return new Date(o.getTime());if(P===d.regex)return new RegExp(o);const l=a.base(o,P,e);if(l===o)return o;if(m&&m.set(o,l),P===d.set)for(const a of o)l.add(X(a,e,m));else if(P===d.map)for(const[a,t]of o)l.set(a,X(t,e,m));const c=n.keys(o,e);for(const n of c){if("__proto__"===n)continue;if(P===d.array&&"length"===n){l.length=o.length;continue}const t=Object.getOwnPropertyDescriptor(o,n);t?t.get||t.set?Object.defineProperty(l,n,t):t.enumerable?l[n]=X(o[n],e,m):Object.defineProperty(l,n,{enumerable:!1,writable:!0,configurable:!0,value:X(o[n],e,m)}):Object.defineProperty(l,n,{enumerable:!0,writable:!0,configurable:!0,value:X(o[n],e,m)})}return l},a.cloneWithShallow=function(i,e){const o=e.shallow;(e=Object.assign({},e)).shallow=!1;const s=new Map;for(const a of o){const e=c(i,a);"object"!=typeof e&&"function"!=typeof e||s.set(e,e)}return a.clone(i,e,s)},a.base=function(n,i,e){if(!1===e.prototype)return a.needsProtoHack.has(i)?new i.constructor:i===d.array?[]:{};const t=Object.getPrototypeOf(n);if(t&&t.isImmutable)return n;if(i===d.array){const a=[];return t!==i&&Object.setPrototypeOf(a,t),a}if(a.needsProtoHack.has(i)){const a=new t.constructor;return t!==i&&Object.setPrototypeOf(a,t),a}return Object.create(t)}},9474:(a,e,t)=>{"use strict";const X=t(4277),s={mismatched:null};a.exports=function(a,e,t){return t=Object.assign({prototype:!0},t),!!s.isDeepEqual(a,e,t,[])},s.isDeepEqual=function(n,e,t,c){if(n===e)return 0!==n||1/n==1/e;const a=typeof n;if(a!=typeof e)return!1;if(null===n||null===e)return!1;if("function"==a){if(!t.deepFunction||n.toString()!==e.toString())return!1;}else if("object"!==a)return n!=n&&e!=e;const r=s.getSharedType(n,e,!!t.prototype);switch(r){case X.buffer:return!1;case X.promise:return n===e;case X.regex:return n.toString()===e.toString();case s.mismatched:return!1;}for(let a=c.length-1;0<=a;--a)if(c[a].isSame(n,e))return!0;c.push(new s.SeenEntry(n,e));try{return!!s.isDeepEqualObj(r,n,e,t,c)}finally{c.pop()}},s.getSharedType=function(n,e,t){if(t)return Object.getPrototypeOf(n)===Object.getPrototypeOf(e)?X.getInternalProto(n):s.mismatched;const r=X.getInternalProto(n);return r===X.getInternalProto(e)?r:s.mismatched},s.valueOf=function(a){const e=a.valueOf;if(void 0===e)return a;try{return e.call(a)}catch(a){return a}},s.hasOwnEnumerableProperty=function(a,e){return Object.prototype.propertyIsEnumerable.call(a,e)},s.isSetSimpleEqual=function(a,e){for(const t of Set.prototype.values.call(a))if(!Set.prototype.has.call(e,t))return!1;return!0},s.isDeepEqualObj=function(n,P,K,g,a){const{isDeepEqual:o,valueOf:e,hasOwnEnumerableProperty:t}=s,{keys:r,getOwnPropertySymbols:i}=Object;if(n===X.array){if(!g.part){if(P.length!==K.length)return!1;for(let t=0;t<P.length;++t)if(!o(P[t],K[t],g,a))return!1;return!0}for(const r of P)for(const e of K)if(o(r,e,g,a))return!0}else if(n===X.set){if(P.size!==K.size)return!1;if(!s.isSetSimpleEqual(P,K)){const n=new Set(Set.prototype.values.call(K));for(const e of Set.prototype.values.call(P)){if(n.delete(e))continue;let r=!1;for(const t of n)if(o(e,t,g,a)){n.delete(t),r=!0;break}if(!r)return!1}}}else if(n===X.map){if(P.size!==K.size)return!1;for(const[t,e]of Map.prototype.entries.call(P)){if(void 0===e&&!Map.prototype.has.call(K,t))return!1;if(!o(e,Map.prototype.get.call(K,t),g,a))return!1}}else if(n===X.error&&(P.name!==K.name||P.message!==K.message))return!1;const c=e(P),l=e(K);if((P!==c||K!==l)&&!o(c,l,g,a))return!1;const u=r(P);if(!g.part&&u.length!==r(K).length&&!g.skip)return!1;let d=0;for(const r of u)if(g.skip&&g.skip.includes(r))void 0===K[r]&&++d;else{if(!t(K,r))return!1;if(!o(P[r],K[r],g,a))return!1}if(!g.part&&u.length-d!==r(K).length)return!1;if(!1!==g.symbols){const r=i(P),c=new Set(i(K));for(const e of r){if(!g.skip||!g.skip.includes(e))if(t(P,e)){if(!t(K,e))return!1;if(!o(P[e],K[e],g,a))return!1}else if(t(K,e))return!1;c.delete(e)}for(const a of c)if(t(K,a))return!1}return!0},s.SeenEntry=class{constructor(a,e){this.obj=a,this.ref=e}isSame(a,e){return this.obj===a&&this.ref===e}}},7916:(a,n,e)=>{"use strict";const t=e(8761);a.exports=class extends Error{constructor(a){super(a.filter(a=>""!==a).map(a=>"string"==typeof a?a:a instanceof Error?a.message:t(a)).join(" ")||"Unknown error"),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,n.assert)}}},5277:a=>{"use strict";const i={};a.exports=function(a){if(!a)return"";let e="";for(let t=0;t<a.length;++t){const r=a.charCodeAt(t);e+=i.isSafe(r)?a[t]:i.escapeHtmlChar(r)}return e},i.escapeHtmlChar=function(a){const e=i.namedHtml[a];if(void 0!==e)return e;if(256<=a)return"&#"+a+";";const t=a.toString(16).padStart(2,"0");return"&#x".concat(t,";")},i.isSafe=function(a){return void 0!==i.safeCharCodes[a]},i.namedHtml={38:"&",60:"<",62:">",34:""",160:" ",162:"¢",163:"£",164:"¤",169:"©",174:"®"},i.safeCharCodes=function(){const a={};for(let e=32;123>e;++e)(97<=e||65<=e&&90>=e||48<=e&&57>=e||32===e||46===e||44===e||45===e||58===e||95===e)&&(a[e]=null);return a}()},6064:a=>{"use strict";a.exports=function(a){return a.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}},738:a=>{"use strict";a.exports=function(){}},1687:(i,e,t)=>{"use strict";const c=t(375),u=t(8571),n=t(7043),s={};i.exports=s.merge=function(o,e,t){if(c(o&&"object"==typeof o,"Invalid target value: must be an object"),c(null==e||"object"==typeof e,"Invalid source value: must be null, undefined, or an object"),!e)return o;if(t=Object.assign({nullOverride:!0,mergeArrays:!0},t),Array.isArray(e)){c(Array.isArray(o),"Cannot merge array onto an object"),t.mergeArrays||(o.length=0);for(let a=0;a<e.length;++a)o.push(u(e[a],{symbols:t.symbols}));return o}const d=n.keys(e,t);for(let r=0;r<d.length;++r){const n=d[r];if("__proto__"===n||!Object.prototype.propertyIsEnumerable.call(e,n))continue;const a=e[n];if(a&&"object"==typeof a){if(o[n]===a)continue;!o[n]||"object"!=typeof o[n]||Array.isArray(o[n])!==Array.isArray(a)||a instanceof Date||a instanceof RegExp?o[n]=u(a,{symbols:t.symbols}):s.merge(o[n],a,t)}else(null!=a||t.nullOverride)&&(o[n]=a)}return o}},9621:(a,e,i)=>{"use strict";const c=i(375),s={};a.exports=function(n,l,u){if(!1===l||null==l)return n;"string"==typeof(u=u||{})&&(u={separator:u});const e=Array.isArray(l);c(!e||!u.separator,"Separator option no valid for array-based chain");const d=e?l:l.split(u.separator||".");let o=n;for(let r=0,i;r<d.length;++r){i=d[r];const e=u.iterables&&s.iterables(o);if(Array.isArray(o)||"set"===e){const a=+i;t(a)&&(i=0>a?o.length+a:a)}if(!o||"function"==typeof o&&!1===u.functions||!e&&void 0===o[i]){c(!u.strict||r+1===d.length,"Missing segment",i,"in reach path ",l),c("object"==typeof o||!0===u.functions||"function"!=typeof o,"Invalid segment",i,"in reach path ",l),o=u.default;break}o=e?"set"===e?[...o][i]:o.get(i):o[i]}return o},s.iterables=function(a){return a instanceof Set?"set":a instanceof Map?"map":void 0}},8761:a=>{"use strict";a.exports=function(...a){try{return JSON.stringify.apply(null,a)}catch(a){return"[Cannot display object: "+a.message+"]"}}},4277:(a,n)=>{"use strict";const i={};n=a.exports={array:Array.prototype,buffer:!1,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype},i.typeMap=new Map([["[object Error]",n.error],["[object Map]",n.map],["[object Promise]",n.promise],["[object Set]",n.set],["[object WeakMap]",n.weakMap],["[object WeakSet]",n.weakSet]]),n.getInternalProto=function(a){if(Array.isArray(a))return n.array;if(a instanceof Date)return n.date;if(a instanceof RegExp)return n.regex;if(a instanceof Error)return n.error;const e=Object.prototype.toString.call(a);return i.typeMap.get(e)||n.generic}},7043:(a,e)=>{"use strict";e.keys=function(a,e={}){return!1===e.symbols?Object.getOwnPropertyNames(a):Reflect.ownKeys(a)}},3652:(a,e,t)=>{"use strict";const i=t(375),r={};e.Sorter=class{constructor(){this._items=[],this.nodes=[]}add(c,s){const l=[].concat((s=s||{}).before||[]),r=[].concat(s.after||[]),n=s.group||"?",a=s.sort||0;i(!l.includes(n),"Item cannot come before itself: ".concat(n)),i(!l.includes("?"),"Item cannot come before unassociated items"),i(!r.includes(n),"Item cannot come after itself: ".concat(n)),i(!r.includes("?"),"Item cannot come after unassociated items"),Array.isArray(c)||(c=[c]);for(const i of c){const t={seq:this._items.length,sort:a,before:l,after:r,group:n,node:i};this._items.push(t)}if(!s.manual){const a=this._sort();i(a,"item","?"===n?"":"added into group ".concat(n),"created a dependencies error")}return this.nodes}merge(a){Array.isArray(a)||(a=[a]);for(const r of a)if(r)for(const a of r._items)this._items.push(Object.assign({},a));this._items.sort(r.mergeSort);for(let t=0;t<this._items.length;++t)this._items[t].seq=t;const n=this._sort();return i(n,"merge created a dependencies error"),this.nodes}sort(){const a=this._sort();return i(a,"sort created a dependencies error"),this.nodes}_sort(){const i={},c=Object.create(null),e=Object.create(null);for(const t of this._items){const r=t.seq,n=t.group;e[n]=e[n]||[],e[n].push(r),i[r]=t.before;for(const a of t.after)c[a]=c[a]||[],c[a].push(r)}for(const r in i){const t=[];for(const o in i[r]){const n=i[r][o];e[n]=e[n]||[],t.push(...e[n])}i[r]=t}for(const a in c)if(e[a])for(const t of e[a])i[t].push(...c[a]);const l={};for(const a in i){const t=i[a];for(const r of t)l[r]=l[r]||[],l[r].push(a)}const s={},r=[];for(let a=0,n;a<this._items.length;++a){if(n=a,l[a]){n=null;for(let i=0;i<this._items.length;++i){if(!0===s[i])continue;l[i]||(l[i]=[]);const e=l[i].length;let r=0;for(let a=0;a<e;++a)s[l[i][a]]&&++r;if(r===e){n=i;break}}}null!==n&&(s[n]=!0,r.push(n))}if(r.length!==this._items.length)return!1;const a={};for(const t of this._items)a[t.seq]=t;this._items=[],this.nodes=[];for(const n of r){const e=a[n];this.nodes.push(e.node),this._items.push(e)}return!0}},r.mergeSort=(a,e)=>a.sort===e.sort?0:a.sort<e.sort?-1:1},5380:(i,o,e)=>{"use strict";const t=e(443),c=e(2178),n={minDomainSegments:2,nonAsciiRx:/[^\x00-\x7f]/,domainControlRx:/[\x00-\x20@\:\/\\#!\$&\'\(\)\*\+,;=\?]/,tldSegmentRx:/^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,domainSegmentRx:/^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,URL:t.URL||URL};o.analyze=function(a,i={}){if("string"!=typeof a)throw new Error("Invalid input: domain must be a string");if(!a)return c.code("DOMAIN_NON_EMPTY_STRING");if(256<a.length)return c.code("DOMAIN_TOO_LONG");if(n.nonAsciiRx.test(a)){if(!1===i.allowUnicode)return c.code("DOMAIN_INVALID_UNICODE_CHARS");a=a.normalize("NFC")}if(n.domainControlRx.test(a))return c.code("DOMAIN_INVALID_CHARS");a=n.punycode(a);const t=i.minDomainSegments||n.minDomainSegments,r=a.split(".");if(r.length<t)return c.code("DOMAIN_SEGMENTS_COUNT");if(i.maxDomainSegments&&r.length>i.maxDomainSegments)return c.code("DOMAIN_SEGMENTS_COUNT_MAX");const s=i.tlds;if(s){const a=r[r.length-1].toLowerCase();if(s.deny&&s.deny.has(a)||s.allow&&!s.allow.has(a))return c.code("DOMAIN_FORBIDDEN_TLDS")}for(let o=0;o<r.length;++o){const e=r[o];if(!e.length)return c.code("DOMAIN_EMPTY_SEGMENT");if(63<e.length)return c.code("DOMAIN_LONG_SEGMENT");if(o<r.length-1){if(!n.domainSegmentRx.test(e))return c.code("DOMAIN_INVALID_CHARS");}else if(!n.tldSegmentRx.test(e))return c.code("DOMAIN_INVALID_TLDS_CHARS")}return null},o.isValid=function(a,e){return!o.analyze(a,e)},n.punycode=function(a){try{return new n.URL("http://".concat(a)).host}catch(e){return a}}},1745:(i,e,t)=>{"use strict";const r=t(9848),c=t(5380),n=t(2178),a={nonAsciiRx:/[^\x00-\x7f]/,encoder:new(r.TextEncoder||TextEncoder)};e.analyze=function(r,e){return a.email(r,e)},e.isValid=function(r,e){return!a.email(r,e)},a.email=function(o,u={}){if("string"!=typeof o)throw new Error("Invalid input: email must be a string");if(!o)return n.code("EMPTY_STRING");const t=!a.nonAsciiRx.test(o);if(!t){if(!1===u.allowUnicode)return n.code("FORBIDDEN_UNICODE");o=o.normalize("NFC")}const r=o.split("@");if(2!==r.length)return 2<r.length?n.code("MULTIPLE_AT_CHAR"):n.code("MISSING_AT_CHAR");const[s,i]=r;if(!s)return n.code("EMPTY_LOCAL");if(!u.ignoreLength){if(254<o.length)return n.code("ADDRESS_TOO_LONG");if(64<a.encoder.encode(s).length)return n.code("LOCAL_TOO_LONG")}return a.local(s,t)||c.analyze(i,u)},a.local=function(i,o){const t=i.split(".");for(const r of t){if(!r.length)return n.code("EMPTY_LOCAL_SEGMENT");if(!o)for(const i of r){if(a.atextRx.test(i))continue;const t=a.binary(i);if(!a.atomRx.test(t))return n.code("INVALID_LOCAL_CHARS")}else if(!a.atextRx.test(r))return n.code("INVALID_LOCAL_CHARS")}},a.binary=function(t){return Array.from(a.encoder.encode(t)).map(a=>m(a)).join("")},a.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/,a.atomRx=new RegExp("(?:[\\xc2-\\xdf][\\x80-\\xbf])|(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})|(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})")},2178:(a,r)=>{"use strict";r.codes={EMPTY_STRING:"Address must be a non-empty string",FORBIDDEN_UNICODE:"Address contains forbidden Unicode characters",MULTIPLE_AT_CHAR:"Address cannot contain more than one @ character",MISSING_AT_CHAR:"Address must contain one @ character",EMPTY_LOCAL:"Address local part cannot be empty",ADDRESS_TOO_LONG:"Address too long",LOCAL_TOO_LONG:"Address local part too long",EMPTY_LOCAL_SEGMENT:"Address local part contains empty dot-separated segment",INVALID_LOCAL_CHARS:"Address local part contains invalid character",DOMAIN_NON_EMPTY_STRING:"Domain must be a non-empty string",DOMAIN_TOO_LONG:"Domain too long",DOMAIN_INVALID_UNICODE_CHARS:"Domain contains forbidden Unicode characters",DOMAIN_INVALID_CHARS:"Domain contains invalid character",DOMAIN_INVALID_TLDS_CHARS:"Domain contains invalid tld character",DOMAIN_SEGMENTS_COUNT:"Domain lacks the minimum required number of segments",DOMAIN_SEGMENTS_COUNT_MAX:"Domain contains too many segments",DOMAIN_FORBIDDEN_TLDS:"Domain uses forbidden TLD",DOMAIN_EMPTY_SEGMENT:"Domain contains empty dot-separated segment",DOMAIN_LONG_SEGMENT:"Domain contains dot-separated segment that is too long"},r.code=function(a){return{code:a,error:r.codes[a]}}},9959:(a,e,t)=>{"use strict";const c=t(375),i=t(5752);e.regex=function(n={}){c(void 0===n.cidr||"string"==typeof n.cidr,"options.cidr must be a string");const s=n.cidr?n.cidr.toLowerCase():"optional";c(["required","optional","forbidden"].includes(s),"options.cidr must be one of required, optional, forbidden"),c(void 0===n.version||"string"==typeof n.version||Array.isArray(n.version),"options.version must be a string or an array of string");let t=n.version||["ipv4","ipv6","ipvfuture"];Array.isArray(t)||(t=[t]),c(1<=t.length,"options.version must have at least 1 version specified");for(let a=0;a<t.length;++a)c("string"==typeof t[a],"options.version must only contain strings"),t[a]=t[a].toLowerCase(),c(["ipv4","ipv6","ipvfuture"].includes(t[a]),"options.version contains unknown version "+t[a]+" - must be one of ipv4, ipv6, ipvfuture");t=Array.from(new Set(t));const e=t.map(a=>{if("forbidden"===s)return i.ip[a];const e="\\/".concat("ipv4"===a?i.ip.v4Cidr:i.ip.v6Cidr);return"required"===s?"".concat(i.ip[a]).concat(e):"".concat(i.ip[a],"(?:").concat(e,")?")}),a="(?:".concat(e.join("|"),")"),o=new RegExp("^".concat(a,"$"));return{cidr:s,versions:t,regex:o,raw:a}}},5752:(i,e,t)=>{"use strict";const c=t(375),s=t(6064),n={generate:function(){const a={};a.ipv4address="(?:(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";const e="(?:[\\dA-Fa-f]{1,4}:[\\dA-Fa-f]{1,4}|"+a.ipv4address+")";a.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])",a.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])",a.ipv6address="(?:"+("(?:[\\dA-Fa-f]{1,4}:){6}"+e)+"|"+("::(?:[\\dA-Fa-f]{1,4}:){5}"+e)+"|"+("(?:[\\dA-Fa-f]{1,4})?::(?:[\\dA-Fa-f]{1,4}:){4}"+e)+"|"+("(?:(?:[\\dA-Fa-f]{1,4}:){0,1}[\\dA-Fa-f]{1,4})?::(?:[\\dA-Fa-f]{1,4}:){3}"+e)+"|"+("(?:(?:[\\dA-Fa-f]{1,4}:){0,2}[\\dA-Fa-f]{1,4})?::(?:[\\dA-Fa-f]{1,4}:){2}"+e)+"|"+("(?:(?:[\\dA-Fa-f]{1,4}:){0,3}[\\dA-Fa-f]{1,4})?::[\\dA-Fa-f]{1,4}:"+e)+"|"+("(?:(?:[\\dA-Fa-f]{1,4}:){0,4}[\\dA-Fa-f]{1,4})?::"+e)+"|(?:(?:[\\dA-Fa-f]{1,4}:){0,5}[\\dA-Fa-f]{1,4})?::[\\dA-Fa-f]{1,4}|(?:(?:[\\dA-Fa-f]{1,4}:){0,6}[\\dA-Fa-f]{1,4})?::)",a.ipvFuture="v[\\dA-Fa-f]+\\.[\\w-\\.~!\\$&'\\(\\)\\*\\+,;=:]+",a.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*",a.schemeRegex=new RegExp(a.scheme);const t="(?:\\[(?:"+a.ipv6address+"|"+a.ipvFuture+")\\]|"+a.ipv4address+"|[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=]{1,255})",r="(?:[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:]*@)?"+t+"(?::\\d*)?",n="(?:[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:]*@)?("+t+")(?::\\d*)?";return a.hierPart="(?:(?:\\/\\/"+r+"(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*"+")|"+"\\/(?:[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]+(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*)?"+"|"+"[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]+(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*"+"|(?:\\/\\/\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*))",a.hierPartCapture="(?:(?:\\/\\/"+n+"(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*"+")|"+"\\/(?:[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]+(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*)?"+"|"+"[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]+(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*"+")",a.relativeRef="(?:(?:\\/\\/"+r+"(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*"+")|"+"\\/(?:[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]+(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*)?"+"|"+"[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=@]+(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*"+"|)",a.relativeRefCapture="(?:(?:\\/\\/"+n+"(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*"+")|"+"\\/(?:[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]+(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*)?"+"|"+"[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=@]+(?:\\/[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@]*)*"+"|)",a.query="[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@\\/\\?]*(?=#|$)",a.queryWithSquareBrackets="[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@\\[\\]\\/\\?]*(?=#|$)",a.fragment="[\\w-\\.~%\\dA-Fa-f!\\$&'\\(\\)\\*\\+,;=:@\\/\\?]*",a}};n.rfc3986=n.generate(),e.ip={v4Cidr:n.rfc3986.ipv4Cidr,v6Cidr:n.rfc3986.ipv6Cidr,ipv4:n.rfc3986.ipv4address,ipv6:n.rfc3986.ipv6address,ipvfuture:n.rfc3986.ipvFuture},n.createRegex=function(u){const d=n.rfc3986,e="(?:\\?"+(u.allowQuerySquareBrackets?d.queryWithSquareBrackets:d.query)+")?(?:#"+d.fragment+")?",a=u.domain?d.relativeRefCapture:d.relativeRef;if(u.relativeOnly)return n.wrap(a+e);let t="";if(u.scheme){c(u.scheme instanceof RegExp||"string"==typeof u.scheme||Array.isArray(u.scheme),"scheme must be a RegExp, String, or Array");const n=[].concat(u.scheme);c(1<=n.length,"scheme must have at least 1 scheme specified");const r=[];for(let a=0;a<n.length;++a){const e=n[a];c(e instanceof RegExp||"string"==typeof e,"scheme at position "+a+" must be a RegExp or String"),e instanceof RegExp?r.push(e.source.toString()):(c(d.schemeRegex.test(e),"scheme at position "+a+" must be a valid scheme"),r.push(s(e)))}t=r.join("|")}const r="(?:"+(t?"(?:"+t+")":d.scheme)+":"+(u.domain?d.hierPartCapture:d.hierPart)+")",o=u.allowRelative?"(?:"+r+"|"+a+")":r;return n.wrap(o+e,t)},n.wrap=function(a,r){return{raw:a="(?=.)(?!https?:/$)".concat(a),regex:new RegExp("^".concat(a,"$")),scheme:r}},n.uriRegex=n.createRegex({}),e.regex=function(a={}){return a.scheme||a.allowRelative||a.relativeOnly||a.allowQuerySquareBrackets||a.domain?n.createRegex(a):n.uriRegex}},1447:(a,i)=>{"use strict";const c={operators:["!","^","*","/","%","+","-","<","<=",">",">=","==","!=","&&","||","??"],operatorCharacters:["!","^","*","/","%","+","-","<","=",">","&","|","?"],operatorsOrder:[["^"],["*","/","%"],["+","-"],["<","<=",">",">="],["==","!="],["&&"],["||","??"]],operatorsPrefix:["!","n"],literals:{'"':"\"","`":"`","'":"'","[":"]"},numberRx:/^(?:[0-9]*\.?[0-9]*){1}$/,tokenRx:/^[\w\$\#\.\@\:\{\}]+$/,symbol:Symbol("formula"),settings:Symbol("settings")};i.Parser=class{constructor(a,n={}){if(!n[c.settings]&&n.constants)for(const a in n.constants){const e=n.constants[a];if(null!==e&&!["boolean","number","string"].includes(typeof e))throw new Error("Formula constant ".concat(a," contains invalid ").concat(typeof e," value type"))}this.settings=n[c.settings]?n:Object.assign({[c.settings]:!0,constants:{},functions:{}},n),this.single=null,this._parts=null,this._parse(a)}_parse(r){let u=[],d="",X=0,m=!1;const e=a=>{if(X)throw new Error("Formula missing closing parenthesis");const e=u.length?u[u.length-1]:null;if(m||d||a){if(e&&"reference"===e.type&&")"===a)return e.type="function",e.value=this._subFormula(d,e.value),void(d="");if(")"===a){const a=new i.Parser(d,this.settings);u.push({type:"segment",value:a})}else if(m){if("]"===m)return u.push({type:"reference",value:d}),void(d="");u.push({type:"literal",value:d})}else if(c.operatorCharacters.includes(d))e&&"operator"===e.type&&c.operators.includes(e.value+d)?e.value+=d:u.push({type:"operator",value:d});else if(d.match(c.numberRx))u.push({type:"constant",value:parseFloat(d)});else if(void 0!==this.settings.constants[d])u.push({type:"constant",value:this.settings.constants[d]});else{if(!d.match(c.tokenRx))throw new Error("Formula contains invalid token: ".concat(d));u.push({type:"reference",value:d})}d=""}};for(const a of r)m?a===m?(e(),m=!1):d+=a:X?"("===a?(d+=a,++X):")"===a?(--X,X?d+=a:e(a)):d+=a:a in c.literals?m=c.literals[a]:"("===a?(e(),++X):c.operatorCharacters.includes(a)?(e(),d=a,e()):" "===a?e():d+=a;e(),u=u.map((a,e)=>"operator"!==a.type||"-"!==a.value||e&&"operator"!==u[e-1].type?a:{type:"operator",value:"n"});let t=!1;for(const a of u){if("operator"===a.type){if(c.operatorsPrefix.includes(a.value))continue;if(!t)throw new Error("Formula contains an operator in invalid position");if(!c.operators.includes(a.value))throw new Error("Formula contains an unknown operator ".concat(a.value))}else if(t)throw new Error("Formula missing expected operator");t=!t}if(!t)throw new Error("Formula contains invalid trailing operator");1===u.length&&["reference","literal","constant"].includes(u[0].type)&&(this.single={type:"reference"===u[0].type?"reference":"value",value:u[0].value}),this._parts=u.map(a=>{if("operator"===a.type)return c.operatorsPrefix.includes(a.value)?a:a.value;if("reference"!==a.type)return a.value;if(this.settings.tokenRx&&!this.settings.tokenRx.test(a.value))throw new Error("Formula contains invalid reference ".concat(a.value));return this.settings.reference?this.settings.reference(a.value):c.reference(a.value)})}_subFormula(r,e){const o=this.settings.functions[e];if("function"!=typeof o)throw new Error("Formula contains unknown function ".concat(e));let n=[];if(r){let l="",t=0,u=!1;const o=()=>{if(!l)throw new Error("Formula contains function ".concat(e," with invalid arguments ").concat(r));n.push(l),l=""};for(let e=0;e<r.length;++e){const n=r[e];u?(l+=n,n===u&&(u=!1)):n in c.literals&&!t?(l+=n,u=c.literals[n]):","!==n||t?(l+=n,"("===n?++t:")"===n&&--t):o()}o()}return n=n.map(a=>new i.Parser(a,this.settings)),function(a){const e=[];for(const t of n)e.push(t.evaluate(a));return o.call(a,...e)}}evaluate(r){const e=this._parts.slice();for(let t=e.length-2;0<=t;--t){const i=e[t];if(i&&"operator"===i.type){const n=e[t+1];e.splice(t+1,1);const a=c.evaluate(n,r);e[t]=c.single(i.value,a)}}return c.operatorsOrder.forEach(a=>{for(let t=1;t<e.length-1;)if(a.includes(e[t])){const n=e[t],s=c.evaluate(e[t-1],r),a=c.evaluate(e[t+1],r);e.splice(t,2);const o=c.calculate(n,s,a);e[t-1]=0===o?0:o}else t+=2}),c.evaluate(e[0],r)}},i.Parser.prototype[c.symbol]=!0,c.reference=function(a){return function(e){return e&&void 0!==e[a]?e[a]:null}},c.evaluate=function(a,e){return null===a?null:"function"==typeof a?a(e):a[c.symbol]?a.evaluate(e):a},c.single=function(a,e){if("!"===a)return!e;const t=-e;return 0==t?0:t},c.calculate=function(a,e,r){if("??"===a)return c.exists(e)?e:r;if("string"!=typeof e&&"string"!=typeof r)switch(a){case"^":return v(e,r);case"*":return e*r;case"/":return e/r;case"%":return e%r;case"+":return e+r;case"-":return e-r;}else if("+"===a)return(e=c.exists(e)?e:"")+(c.exists(r)?r:"");return"<"===a?e<r:"<="===a?e<=r:">"===a?e>r:">="===a?e>=r:"=="===a?e===r:"!="===a?e!==r:"&&"===a?e&&r:"||"===a?e||r:null},c.exists=function(a){return null!=a}},9926:()=>{},5688:()=>{},9708:()=>{},1152:()=>{},443:()=>{},9848:()=>{}},o={},function e(t){var r=o[t];if(void 0!==r)return r.exports;var n=o[t]={exports:{}};return i[t](n,n.exports,e),n.exports}(5107);var i,o})},{}],330:[function(e,a){var t=e("./lib/encoder"),r=e("./lib/decoder");a.exports={encode:t,decode:r}},{"./lib/decoder":331,"./lib/encoder":332}],331:[function(e,a){(function(e){function t(a,t={}){var n={...{colorTransform:void 0,useTArray:!1,formatAsRGBA:!0,tolerantDecoding:!0,maxResolutionInMP:100,maxMemoryUsageInMB:512},...t},i=new Uint8Array(a),o=new r;o.opts=n,r.resetMaxMemoryUsage(1024*(1024*n.maxMemoryUsageInMB)),o.parse(i);var c=n.formatAsRGBA?4:3,s=o.width*o.height*c;try{r.requestMemoryAllocation(s);var l={width:o.width,height:o.height,exifBuffer:o.exifBuffer,data:n.useTArray?new Uint8Array(s):e.alloc(s)};0<o.comments.length&&(l.comments=o.comments)}catch(e){if(e instanceof RangeError)throw new Error("Could not allocate enough memory for the image. Required: "+s);else throw e}return o.copyToImageData(l,n.formatAsRGBA),l}var r=function(){"use strict";function e(){}function a(e,a){for(var t=0,r=[],n=16,o,c;0<n&&!e[n-1];)n--;r.push({children:[],index:0});var s=r[0],l;for(o=0;o<n;o++){for(c=0;c<e[o];c++){for(s=r.pop(),s.children[s.index]=a[t];0<s.index;){if(0===r.length)throw new Error("Could not recreate Huffman Table");s=r.pop()}for(s.index++,r.push(s);r.length<=o;)r.push(l={children:[],index:0}),s.children[s.index]=l.children,s=l;t++}o+1<n&&(r.push(l={children:[],index:0}),s.children[s.index]=l.children,s=l)}return r[0].children}function t(e,a,t,r,o,l,u,d,X,m){function P(){if(0<R)return R--,1&U>>R;if(U=e[a++],255==U){var t=e[a++];if(t)throw new Error("unexpected marker: "+(U<<8|t).toString(16))}return R=7,U>>>7}function K(e){for(var a=e,t;null!==(t=P());){if(a=a[t],"number"==typeof a)return a;if("object"!=typeof a)throw new Error("invalid huffman sequence")}return null}function g(e){for(var a=0,t;0<e;){if(t=P(),null===t)return;a=a<<1|t,e--}return a}function p(e){var a=g(e);return a>=1<<e-1?a:a+(-1<<e)+1}function f(e,a){var n=K(e.huffmanTableDC),t=0===n?0:p(n);a[0]=e.pred+=t;for(var i=1;64>i;){var o=K(e.huffmanTableAC),l=15&o,s=o>>4;if(0===l){if(15>s)break;i+=16;continue}i+=s;var r=c[i];a[r]=p(l),i++}}function y(e,a){var r=K(e.huffmanTableDC),t=0===r?0:p(r)<<X;a[0]=e.pred+=t}function b(e,a){if(0<Y)return void Y--;for(var t=l;t<=u;){var n=K(e.huffmanTableAC),i=15&n,o=n>>4;if(0===i){if(15>o){Y=g(o)+(1<<o)-1;break}t+=16;continue}t+=o;var r=c[t];a[r]=p(i)*(1<<X),t++}}function A(e,a){for(var t=l,n=0;t<=u;){var i=c[t],o=0>a[i]?-1:1;switch(I){case 0:var d=K(e.huffmanTableAC),m=15&d,n=d>>4;if(0===m)15>n?(Y=g(n)+(1<<n),I=4):(n=16,I=1);else{if(1!==m)throw new Error("invalid ACn encoding");L=p(m),I=n?2:3}continue;case 1:case 2:a[i]?a[i]+=(P()<<X)*o:(n--,0===n&&(I=2==I?3:0));break;case 3:a[i]?a[i]+=(P()<<X)*o:(a[i]=L<<X,I=0);break;case 4:a[i]&&(a[i]+=(P()<<X)*o);}t++}4===I&&(Y--,0===Y&&(I=0))}function C(e,a,t,r,n){var i=(0|t/N)*e.v+r,o=t%N*e.h+n;void 0===e.blocks[i]&&m.tolerantDecoding||a(e,e.blocks[i][o])}function B(e,a,t){var r=0|t/e.blocksPerLine,n=t%e.blocksPerLine;void 0===e.blocks[r]&&m.tolerantDecoding||a(e,e.blocks[r][n])}var x=t.precision,_=t.samplesPerLine,W=t.scanLines,N=t.mcusPerLine,O=t.progressive,T=t.maxH,w=t.maxV,S=a,U=0,R=0,Y=0,I=0,E=r.length,L,D,M,s,F,z,V;V=O?0===l?0===d?y:function(e,a){a[0]|=P()<<X}:0===d?b:A:f;var q=0,G,H;H=1==E?r[0].blocksPerLine*r[0].blocksPerColumn:N*t.mcusPerColumn,o||(o=H);for(var J,Z;q<H;){for(M=0;M<E;M++)r[M].pred=0;if(Y=0,1==E)for(D=r[0],z=0;z<o;z++)B(D,V,q),q++;else for(z=0;z<o;z++){for(M=0;M<E;M++)for(D=r[M],J=D.h,Z=D.v,s=0;s<Z;s++)for(F=0;F<J;F++)C(D,V,q,s,F);if(q++,q===H)break}if(q===H)do{if(255===e[a]&&0!==e[a+1])break;a+=1}while(a<e.length-2);if(R=0,G=e[a]<<8|e[a+1],65280>G)throw new Error("marker was not found");if(65488<=G&&65495>=G)a+=2;else break}return a-S}function r(e,a){function t(e,r,n){var o=a.quantizationTable,c=n,s,l,u,d,X,m,P,K,g,p;for(p=0;64>p;p++)c[p]=e[p]*o[p];for(p=0;8>p;++p){var f=8*p;if(0==c[1+f]&&0==c[2+f]&&0==c[3+f]&&0==c[4+f]&&0==c[5+f]&&0==c[6+f]&&0==c[7+f]){g=5793*c[0+f]+512>>10,c[0+f]=g,c[1+f]=g,c[2+f]=g,c[3+f]=g,c[4+f]=g,c[5+f]=g,c[6+f]=g,c[7+f]=g;continue}s=5793*c[0+f]+128>>8,l=5793*c[4+f]+128>>8,u=c[2+f],d=c[6+f],X=2896*(c[1+f]-c[7+f])+128>>8,K=2896*(c[1+f]+c[7+f])+128>>8,m=c[3+f]<<4,P=c[5+f]<<4,g=s-l+1>>1,s=s+l+1>>1,l=g,g=3784*u+1567*d+128>>8,u=1567*u-3784*d+128>>8,d=g,g=X-P+1>>1,X=X+P+1>>1,P=g,g=K+m+1>>1,m=K-m+1>>1,K=g,g=s-d+1>>1,s=s+d+1>>1,d=g,g=l-u+1>>1,l=l+u+1>>1,u=g,g=2276*X+3406*K+2048>>12,X=3406*X-2276*K+2048>>12,K=g,g=799*m+4017*P+2048>>12,m=4017*m-799*P+2048>>12,P=g,c[0+f]=s+K,c[7+f]=s-K,c[1+f]=l+P,c[6+f]=l-P,c[2+f]=u+m,c[5+f]=u-m,c[3+f]=d+X,c[4+f]=d-X}for(p=0;8>p;++p){var h=p;if(0==c[8+h]&&0==c[16+h]&&0==c[24+h]&&0==c[32+h]&&0==c[40+h]&&0==c[48+h]&&0==c[56+h]){g=5793*n[p+0]+8192>>14,c[0+h]=g,c[8+h]=g,c[16+h]=g,c[24+h]=g,c[32+h]=g,c[40+h]=g,c[48+h]=g,c[56+h]=g;continue}s=5793*c[0+h]+2048>>12,l=5793*c[32+h]+2048>>12,u=c[16+h],d=c[48+h],X=2896*(c[8+h]-c[56+h])+2048>>12,K=2896*(c[8+h]+c[56+h])+2048>>12,m=c[24+h],P=c[40+h],g=s-l+1>>1,s=s+l+1>>1,l=g,g=3784*u+1567*d+2048>>12,u=1567*u-3784*d+2048>>12,d=g,g=X-P+1>>1,X=X+P+1>>1,P=g,g=K+m+1>>1,m=K-m+1>>1,K=g,g=s-d+1>>1,s=s+d+1>>1,d=g,g=l-u+1>>1,l=l+u+1>>1,u=g,g=2276*X+3406*K+2048>>12,X=3406*X-2276*K+2048>>12,K=g,g=799*m+4017*P+2048>>12,m=4017*m-799*P+2048>>12,P=g,c[0+h]=s+K,c[56+h]=s-K,c[8+h]=l+P,c[48+h]=l-P,c[16+h]=u+m,c[40+h]=u-m,c[24+h]=d+X,c[32+h]=d-X}for(p=0;64>p;++p){var y=128+(c[p]+8>>4);r[p]=0>y?0:255<y?255:y}}var n=[],c=a.blocksPerLine,s=a.blocksPerColumn,l=c<<3,u=new Int32Array(64),d=new Uint8Array(64);o(8*(l*s));for(var r=0,X,m,P;r<s;r++){for(P=r<<3,X=0;8>X;X++)n.push(new Uint8Array(l));for(var K=0;K<c;K++){t(a.blocks[r][K],d,u);var g=0,p=K<<3;for(m=0;8>m;m++){var f=n[P+m];for(X=0;8>X;X++)f[p+X]=d[g++]}}}return n}function n(e){return 0>e?0:255<e?255:e}function o(e=0){var a=s+e;if(a>l){var t=K((a-l)/1024/1024);throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${t}MB`)}s=a}var c=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);e.prototype={load:function(e){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){var e=new Uint8Array(a.response||a.mozResponseArrayBuffer);this.parse(e),this.onload&&this.onload()}.bind(this),a.send(null)},parse:function(e){function n(){var a=e[d]<<8|e[d+1];return d+=2,a}function s(){var a=n(),t=e.subarray(d,d+a-2);return d+=t.length,t}function l(e){var a=0,t=0,r,n;for(n in e.components)e.components.hasOwnProperty(n)&&(r=e.components[n],a<r.h&&(a=r.h),t<r.v&&(t=r.v));var c=K(e.samplesPerLine/8/a),s=K(e.scanLines/8/t);for(n in e.components)if(e.components.hasOwnProperty(n)){r=e.components[n];var l=K(K(e.samplesPerLine/8)*r.h/a),u=K(K(e.scanLines/8)*r.v/t),d=c*r.h,X=s*r.v,m=[];o(256*(X*d));for(var P=0,g;P<X;P++){g=[];for(var p=0;p<d;p++)g.push(new Int32Array(64));m.push(g)}r.blocksPerLine=l,r.blocksPerColumn=u,r.blocks=m}e.maxH=a,e.maxV=t,e.mcusPerLine=c,e.mcusPerColumn=s}var u=1e3*(1e3*this.opts.maxResolutionInMP),d=0,X=e.length,P=null,g=null,p=[],f=[],y=[],b=[],A=n(),C,B;if(this.comments=[],65496!=A)throw new Error("SOI not found");for(A=n();65497!=A;){var x,_;switch(A){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var W=s();if(65534===A){var N=m.apply(null,W);this.comments.push(N)}65504===A&&74===W[0]&&70===W[1]&&73===W[2]&&70===W[3]&&0===W[4]&&(P={version:{major:W[5],minor:W[6]},densityUnits:W[7],xDensity:W[8]<<8|W[9],yDensity:W[10]<<8|W[11],thumbWidth:W[12],thumbHeight:W[13],thumbData:W.subarray(14,14+3*W[12]*W[13])}),65505===A&&69===W[0]&&120===W[1]&&105===W[2]&&102===W[3]&&0===W[4]&&(this.exifBuffer=W.subarray(5,W.length)),65518===A&&65===W[0]&&100===W[1]&&111===W[2]&&98===W[3]&&101===W[4]&&0===W[5]&&(g={version:W[6],flags0:W[7]<<8|W[8],flags1:W[9]<<8|W[10],transformCode:W[11]});break;case 65499:for(var O=n(),k=O+d-2,T;d<k;){T=e[d++],o(256);var w=new Int32Array(64);if(0==T>>4)for(_=0;64>_;_++){var S=c[_];w[S]=e[d++]}else if(1==T>>4)for(_=0;64>_;_++){var S=c[_];w[S]=n()}else throw new Error("DQT: invalid table spec");p[15&T]=w}break;case 65472:case 65473:case 65474:n(),C={},C.extended=65473===A,C.progressive=65474===A,C.precision=e[d++],C.scanLines=n(),C.samplesPerLine=n(),C.components={},C.componentsOrder=[];var U=C.scanLines*C.samplesPerLine;if(U>u){var R=K((U-u)/1e6);throw new Error(`maxResolutionInMP limit exceeded by ${R}MP`)}var Y=e[d++],I;for(x=0;x<Y;x++){I=e[d];var E=e[d+1]>>4,h=15&e[d+1],v=e[d+2];C.componentsOrder.push(I),C.components[I]={h:E,v:h,quantizationIdx:v},d+=3}l(C),f.push(C);break;case 65476:var L=n();for(x=2;x<L;){var D=e[d++],M=new Uint8Array(16),F=0;for(_=0;16>_;_++,d++)F+=M[_]=e[d];o(16+F);var V=new Uint8Array(F);for(_=0;_<F;_++,d++)V[_]=e[d];x+=17+F,(0==D>>4?b:y)[15&D]=a(M,V)}break;case 65501:n(),B=n();break;case 65500:n(),n();break;case 65498:var q=n(),G=e[d++],H=[],J;for(x=0;x<G;x++){J=C.components[e[d++]];var Z=e[d++];J.huffmanTableDC=b[Z>>4],J.huffmanTableAC=y[15&Z],H.push(J)}var Q=e[d++],$=e[d++],ee=e[d++],ae=t(e,d,C,H,B,Q,$,ee>>4,15&ee,this.opts);d+=ae;break;case 65535:255!==e[d]&&d--;break;default:if(255==e[d-3]&&192<=e[d-2]&&254>=e[d-2]){d-=3;break}throw new Error("unknown JPEG marker "+A.toString(16));}A=n()}if(1!=f.length)throw new Error("only single frame JPEGs supported");for(var x=0,te;x<f.length;x++)for(var _ in te=f[x].components,te)te[_].quantizationTable=p[te[_].quantizationIdx],delete te[_].quantizationIdx;this.width=C.samplesPerLine,this.height=C.scanLines,this.jfif=P,this.adobe=g,this.components=[];for(var x=0,J;x<C.componentsOrder.length;x++)J=C.components[C.componentsOrder[x]],this.components.push({lines:r(C,J),scaleX:J.h/C.maxH,scaleY:J.v/C.maxV})},getData:function(e,a){var t=this.width/e,r=this.height/a,i=0,c=e*a*this.components.length,s,l,u,d,X,m,P,g,p,f,h,b,A,v,_,W,N,O,k,T,w;o(c);var S=new Uint8Array(c);switch(this.components.length){case 1:for(s=this.components[0],f=0;f<a;f++)for(X=s.lines[0|f*s.scaleY*r],p=0;p<e;p++)h=X[0|p*s.scaleX*t],S[i++]=h;break;case 2:for(s=this.components[0],l=this.components[1],f=0;f<a;f++)for(X=s.lines[0|f*s.scaleY*r],m=l.lines[0|f*l.scaleY*r],p=0;p<e;p++)h=X[0|p*s.scaleX*t],S[i++]=h,h=m[0|p*l.scaleX*t],S[i++]=h;break;case 3:for(w=!0,this.adobe&&this.adobe.transformCode?w=!0:"undefined"!=typeof this.opts.colorTransform&&(w=!!this.opts.colorTransform),s=this.components[0],l=this.components[1],u=this.components[2],f=0;f<a;f++)for(X=s.lines[0|f*s.scaleY*r],m=l.lines[0|f*l.scaleY*r],P=u.lines[0|f*u.scaleY*r],p=0;p<e;p++)w?(h=X[0|p*s.scaleX*t],b=m[0|p*l.scaleX*t],A=P[0|p*u.scaleX*t],O=n(h+1.402*(A-128)),k=n(h-.3441363*(b-128)-.71413636*(A-128)),T=n(h+1.772*(b-128))):(O=X[0|p*s.scaleX*t],k=m[0|p*l.scaleX*t],T=P[0|p*u.scaleX*t]),S[i++]=O,S[i++]=k,S[i++]=T;break;case 4:if(!this.adobe)throw new Error("Unsupported color mode (4 components)");for(w=!1,this.adobe&&this.adobe.transformCode?w=!0:"undefined"!=typeof this.opts.colorTransform&&(w=!!this.opts.colorTransform),s=this.components[0],l=this.components[1],u=this.components[2],d=this.components[3],f=0;f<a;f++)for(X=s.lines[0|f*s.scaleY*r],m=l.lines[0|f*l.scaleY*r],P=u.lines[0|f*u.scaleY*r],g=d.lines[0|f*d.scaleY*r],p=0;p<e;p++)w?(h=X[0|p*s.scaleX*t],b=m[0|p*l.scaleX*t],A=P[0|p*u.scaleX*t],v=g[0|p*d.scaleX*t],_=255-n(h+1.402*(A-128)),W=255-n(h-.3441363*(b-128)-.71413636*(A-128)),N=255-n(h+1.772*(b-128))):(_=X[0|p*s.scaleX*t],W=m[0|p*l.scaleX*t],N=P[0|p*u.scaleX*t],v=g[0|p*d.scaleX*t]),S[i++]=255-_,S[i++]=255-W,S[i++]=255-N,S[i++]=255-v;break;default:throw new Error("Unsupported color mode");}return S},copyToImageData:function(e,a){var t=e.width,r=e.height,o=e.data,c=this.getData(t,r),s=0,l=0,u,d,X,m,P,g,p,f,h;switch(this.components.length){case 1:for(d=0;d<r;d++)for(u=0;u<t;u++)X=c[s++],o[l++]=X,o[l++]=X,o[l++]=X,a&&(o[l++]=255);break;case 3:for(d=0;d<r;d++)for(u=0;u<t;u++)p=c[s++],f=c[s++],h=c[s++],o[l++]=p,o[l++]=f,o[l++]=h,a&&(o[l++]=255);break;case 4:for(d=0;d<r;d++)for(u=0;u<t;u++)P=c[s++],g=c[s++],X=c[s++],m=c[s++],p=255-n(P*(1-m/255)+m),f=255-n(g*(1-m/255)+m),h=255-n(X*(1-m/255)+m),o[l++]=p,o[l++]=f,o[l++]=h,a&&(o[l++]=255);break;default:throw new Error("Unsupported color mode");}}};var s=0,l=0;return e.resetMaxMemoryUsage=function(e){s=0,l=e},e.getBytesAllocated=function(){return s},e.requestMemoryAllocation=o,e}();"undefined"==typeof a?"undefined"!=typeof window&&(window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].decode=t):a.exports=t}).call(this,e("buffer").Buffer)},{buffer:119}],332:[function(e,a){(function(e){function t(t){function r(e){for(var a=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0,n;64>r;r++)n=O((a[r]*e+50)/100),1>n?n=1:255<n&&(n=255),T[q[r]]=n;for(var o=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],c=0,s;64>c;c++)s=O((o[c]*e+50)/100),1>s?s=1:255<s&&(s=255),w[q[c]]=s;for(var l=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],d=0,X=0;8>X;X++)for(var m=0;8>m;m++)S[d]=1/(8*(T[q[d]]*l[X]*l[m])),U[d]=1/(8*(w[q[d]]*l[X]*l[m])),d++}function i(e,a){for(var t=0,r=0,n=[],i=1;16>=i;i++){for(var o=1;o<=e[i];o++)n[a[r]]=[],n[a[r]][0]=t,n[a[r]][1]=i,r++,t++;t*=2}return n}function o(){te=i(G,H),re=i(Q,$),ne=i(J,Z),ie=i(ee,ae)}function c(){for(var e=1,a=2,t=1;15>=t;t++){for(var r=e;r<a;r++)Y[32767+r]=t,R[32767+r]=[],R[32767+r][1]=t,R[32767+r][0]=r;for(var n=-(a-1);n<=-e;n++)Y[32767+n]=t,R[32767+n]=[],R[32767+n][1]=t,R[32767+n][0]=a-1+n;e<<=1,a<<=1}}function s(){for(var e=0;256>e;e++)V[e]=19595*e,V[e+256>>0]=38470*e,V[e+512>>0]=7471*e+32768,V[e+768>>0]=-11059*e,V[e+1024>>0]=-21709*e,V[e+1280>>0]=32768*e+8421375,V[e+1536>>0]=-27439*e,V[e+1792>>0]=-5329*e}function l(e){for(var a=e[0],t=e[1]-1;0<=t;)a&1<<t&&(L|=1<<D),t--,D--,0>D&&(255==L?(u(255),u(0)):u(L),D=7,L=0)}function u(e){k.push(e)}function d(e){u(255&e>>8),u(255&e)}function X(e,a){var t=0,r=8,n,o,c,s,l,u,d,X,m;for(m=0;m<r;++m){n=e[t],o=e[t+1],c=e[t+2],s=e[t+3],l=e[t+4],u=e[t+5],d=e[t+6],X=e[t+7];var P=n+X,K=n-X,g=o+d,p=o-d,f=c+u,h=c-u,y=s+l,b=s-l,A=P+y,v=P-y,C=g+f,B=g-f;e[t]=A+C,e[t+4]=A-C;var x=.707106781*(B+v);e[t+2]=v+x,e[t+6]=v-x,A=b+h,C=h+p,B=p+K;var _=.382683433*(A-B),W=.5411961*A+_,N=1.306562965*B+_,O=.707106781*C,k=K+O,T=K-O;e[t+5]=T+W,e[t+3]=T-W,e[t+1]=k+N,e[t+7]=k-N,t+=8}for(t=0,m=0;m<r;++m){n=e[t],o=e[t+8],c=e[t+16],s=e[t+24],l=e[t+32],u=e[t+40],d=e[t+48],X=e[t+56];var w=n+X,S=n-X,U=o+d,R=o-d,Y=c+u,E=c-u,L=s+l,D=s-l,M=w+L,F=w-L,z=U+Y,j=U-Y;e[t]=M+z,e[t+32]=M-z;var V=.707106781*(j+F);e[t+16]=F+V,e[t+48]=F-V,M=D+E,z=E+R,j=R+S;var q=.382683433*(M-j),G=.5411961*M+q,H=1.306562965*j+q,J=.707106781*z,Z=S+J,Q=S-J;e[t+40]=Q+G,e[t+24]=Q-G,e[t+8]=Z+H,e[t+56]=Z-H,t++}var $;for(m=0;m<64;++m)$=e[m]*a[m],I[m]=0<$?0|$+.5:0|$-.5;return I}function P(){d(65504),d(16),u(74),u(70),u(73),u(70),u(0),u(1),u(1),u(0),d(1),d(1),u(0),u(0)}function K(e){if(e){d(65505),69===e[0]&&120===e[1]&&105===e[2]&&102===e[3]?d(e.length+2):(d(e.length+5+2),u(69),u(120),u(105),u(102),u(0));for(var a=0;a<e.length;a++)u(e[a])}}function f(e,a){d(65472),d(17),u(8),d(a),d(e),u(3),u(1),u(17),u(0),u(2),u(17),u(1),u(3),u(17),u(1)}function h(){d(65499),d(132),u(0);for(var e=0;64>e;e++)u(T[e]);u(1);for(var a=0;64>a;a++)u(w[a])}function v(){d(65476),d(418),u(0);for(var e=0;16>e;e++)u(G[e+1]);for(var a=0;11>=a;a++)u(H[a]);u(16);for(var t=0;16>t;t++)u(J[t+1]);for(var r=0;161>=r;r++)u(Z[r]);u(1);for(var c=0;16>c;c++)u(Q[c+1]);for(var s=0;11>=s;s++)u($[s]);u(17);for(var X=0;16>X;X++)u(ee[X+1]);for(var P=0;161>=P;P++)u(ae[P])}function C(){d(65498),d(12),u(3),u(1),u(0),u(2),u(17),u(3),u(17),u(0),u(63),u(0)}function B(e,a,t,r,n){for(var o=n[0],c=n[240],s=16,u=63,d=X(e,a),m=0,P;m<64;++m)E[q[m]]=d[m];var K=E[0]-t;t=E[0],0==K?l(r[0]):(P=32767+K,l(r[Y[P]]),l(R[P]));for(var g=63;0<g&&0==E[g];g--);if(0==g)return l(o),t;for(var p=1,f;p<=g;){for(var h=p;0==E[p]&&p<=g;++p);var y=p-h;if(y>=s){f=y>>4;for(var b=1;b<=f;++b)l(c);y&=15}P=32767+E[p],l(n[(y<<4)+Y[P]]),l(R[P]),p++}return g!=u&&l(o),t}function x(){for(var e=0;256>e;e++)j[e]=m(e)}function _(e){if(0>=e&&(e=1),100<e&&(e=100),oe!=e){var a=0;a=50>e?A(5e3/e):A(200-2*e),r(a),oe=e}}function W(){var e=new Date().getTime();t||(t=50),x(),o(),c(),s(),_(t);new Date().getTime()-e}var N=this,O=A,T=Array(64),w=Array(64),S=Array(64),U=Array(64),R=Array(65535),Y=Array(65535),I=Array(64),E=Array(64),k=[],L=0,D=7,M=Array(64),F=Array(64),z=Array(64),j=Array(256),V=Array(2048),q=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],G=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],H=[0,1,2,3,4,5,6,7,8,9,10,11],J=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],Z=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],Q=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],$=[0,1,2,3,4,5,6,7,8,9,10,11],ee=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],ae=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250],te,re,ne,ie,oe;this.encode=function(t,i){var o=new Date().getTime();i&&_(i),k=[],L=0,D=7,d(65496),P(),K(t.exifBuffer),h(),f(t.width,t.height),v(),C();var c=0,s=0,u=0;L=0,D=7,this.encode.displayName="_encode_";for(var X=t.data,m=t.width,A=t.height,W=4*m,N=0,O,T,w,R,Y,I,E,j,q;N<A;){for(O=0;O<W;){for(Y=W*N+O,I=Y,E=-1,j=0,q=0;64>q;q++)j=q>>3,E=4*(7&q),I=Y+j*W+E,N+j>=A&&(I-=W*(N+1+j-A)),O+E>=W&&(I-=O+E-W+4),T=X[I++],w=X[I++],R=X[I++],M[q]=(V[T]+V[w+256>>0]+V[R+512>>0]>>16)-128,F[q]=(V[T+768>>0]+V[w+1024>>0]+V[R+1280>>0]>>16)-128,z[q]=(V[T+1280>>0]+V[w+1536>>0]+V[R+1792>>0]>>16)-128;c=B(M,S,c,te,ne),s=B(F,U,s,re,ie),u=B(z,U,u,re,ie),O+=32}N+=8}if(0<=D){var G=[];G[1]=D+1,G[0]=(1<<D+1)-1,l(G)}return d(65497),"undefined"==typeof a?new Uint8Array(k):e.from(k);var H="data:image/jpeg;base64,"+n(k.join(""))},W()}function r(e,a){"undefined"==typeof a&&(a=50);var r=new t(a),n=r.encode(e,a);return{data:n,width:e.width,height:e.height}}var n=n||function(a){return e.from(a).toString("base64")};"undefined"==typeof a?"undefined"!=typeof window&&(window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].encode=r):a.exports=r}).call(this,e("buffer").Buffer)},{buffer:119}],333:[function(e,a,t){(function(e){'use strict';function a(e){var a=e.charCodeAt(0);return 43===a||45===a?62:47===a||95===a?63:48>a?-1:58>a?a-48+26+26:91>a?a-65:123>a?a-97+26:void 0}var t="undefined"==typeof Uint8Array?Array:Uint8Array;e.toByteArray=function(e){function r(e){d[m++]=e}var n,o,c,s,u,d;if(0<e.length%4)throw new Error("Invalid string. Length must be a multiple of 4");var X=e.length;u="="===e.charAt(X-2)?2:"="===e.charAt(X-1)?1:0,d=new t(3*e.length/4-u),c=0<u?e.length-4:e.length;var m=0;for(n=0,o=0;n<c;n+=4,o+=3)s=a(e.charAt(n))<<18|a(e.charAt(n+1))<<12|a(e.charAt(n+2))<<6|a(e.charAt(n+3)),r((16711680&s)>>16),r((65280&s)>>8),r(255&s);return 2===u?(s=a(e.charAt(n))<<2|a(e.charAt(n+1))>>4,r(255&s)):1==u&&(s=a(e.charAt(n))<<10|a(e.charAt(n+1))<<4|a(e.charAt(n+2))>>2,r(255&s>>8),r(255&s)),d},e.fromByteArray=function(e){function a(e){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)}function t(e){return a(63&e>>18)+a(63&e>>12)+a(63&e>>6)+a(63&e)}var r=e.length%3,n="",o,c,s;for(o=0,s=e.length-r;o<s;o+=3)c=(e[o]<<16)+(e[o+1]<<8)+e[o+2],n+=t(c);return 1==r?(c=e[e.length-1],n+=a(c>>2),n+=a(63&c<<4),n+="=="):2===r?(c=(e[e.length-2]<<8)+e[e.length-1],n+=a(c>>10),n+=a(63&c>>4),n+=a(63&c<<2),n+="="):void 0,n}})("undefined"==typeof t?this.base64js={}:t)},{}],334:[function(e,a){const t=e("tiny-inflate"),r=11,n=5,i=2,o=(1<<n)-1,c=65536>>n;a.exports=class e{constructor(e){const a="function"==typeof e.readUInt32BE&&"function"==typeof e.slice;if(a||e instanceof Uint8Array){let r;if(a)this.highStart=e.readUInt32BE(0),this.errorValue=e.readUInt32BE(4),r=e.readUInt32BE(8),e=e.slice(12);else{const a=new DataView(e.buffer);this.highStart=a.getUint32(0),this.errorValue=a.getUint32(4),r=a.getUint32(8),e=e.subarray(12)}e=t(e,new Uint8Array(r)),e=t(e,new Uint8Array(r)),this.data=new Uint32Array(e.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let a;return 0>e||1114111<e?this.errorValue:55296>e||56319<e&&65535>=e?(a=(this.data[e>>n]<<i)+(e&o),this.data[a]):65535>=e?(a=(this.data[c+(e-55296>>n)]<<i)+(e&o),this.data[a]):e<this.highStart?(a=this.data[c+(1024>>n)+32-(65536>>r)+(e>>r)],a=this.data[a+(e>>n&(1<<r-n)-1)],a=(a<<i)+(e&o),this.data[a]):this.data[this.data.length-(1<<i)]}}},{"tiny-inflate":463}],335:[function(e,a,t){t.OP=0,t.CL=1,t.CP=2,t.QU=3,t.GL=4,t.NS=5,t.EX=6,t.SY=7,t.IS=8,t.PR=9,t.PO=10,t.NU=11,t.AL=12,t.HL=13,t.ID=14,t.IN=15,t.HY=16,t.BA=17,t.BB=18,t.B2=19,t.ZW=20,t.CM=21,t.WJ=22,t.H2=23,t.H3=24,t.JL=25,t.JV=26,t.JT=27,t.RI=28,t.AI=29,t.BK=30,t.CB=31,t.CJ=32,t.CR=33,t.LF=34,t.NL=35,t.SA=36,t.SG=37,t.SP=38,t.XX=39},{}],336:[function(e,a){let t,r,n,i,o,s,c,l,u,d,X,m,P,K,g,p;const f=e("unicode-trie"),h=e("base64-js");({BK:i,CR:c,LF:u,NL:d,CB:o,BA:n,SP:K,WJ:g,SP:K,BK:i,LF:u,NL:d,AI:t,AL:r,SA:m,SG:P,XX:p,CJ:s,ID:l,NS:X}=e("./classes"));const{DI_BRK:y,IN_BRK:b,CI_BRK:A,CP_BRK:v,PR_BRK:C,pairTable:B}=e("./pairs"),x=h.toByteArray("AA4IAAAAAAAAAhqg5VV7NJtZvz7fTC8zU5deplUlMrQoWqmqahD5So0aipYWrUhVFSVBQ10iSTtUtW6nKDVF6k7d75eQfEUbFcQ9KiFS90tQEolcP23nrLPmO+esr/+f39rr/a293t/e7/P8nmfvlz0O6RvrBJADtbBNaD88IOKTOmOrCqhu9zE770vc1pBV/xL5dxj2V7Zj4FGSomFKStCWNlV7hG1VabZfZ1LaHbFrRwzzLjzPoi1UHDnlV/lWbhgIIJvLBp/pu7AHEdRnIY+ROdXxg4fNpMdTxVnnm08OjozejAVsBqwqz8kddGRlRxsd8c55dNZoPuex6a7Dt6L0NNb03sqgTlR2/OT7eTt0Y0WnpUXxLsp5SMANc4DsmX4zJUBQvznwexm9tsMH+C9uRYMPOd96ZHB29NZjCIM2nfO7tsmQveX3l2r7ft0N4/SRJ7kO6Y8ZCaeuUQ4gMTZ67cp7TgxvlNDsPgOBdZi2YTam5Q7m3+00l+XG7PrDe6YoPmHgK+yLih7fAR16ZFCeD9WvOVt+gfNW/KT5/M6rb/9KERt+N1lad5RneVjzxXHsLofuU+TvrEsr3+26sVz5WJh6L/svoPK3qepFH9bysDljWtD1F7KrxzW1i9r+e/NLxV/acts7zuo304J9+t3Pd6Y6u8f3EAqxNRgv5DZjaI3unyvkvHPya/v3mWVYOC38qBq11+yHZ2bAyP1HbkV92vdno7r2lxz9UwCdCJVfd14NLcpO2CadHS/XPJ9doXgz5vLv/1OBVS3gX0D9n6LiNIDfpilO9RsLgZ2W/wIy8W/Rh93jfoz4qmRV2xElv6p2lRXQdO6/Cv8f5nGn3u0wLXjhnvClabL1o+7yvIpvLfT/xsKG30y/sTvq30ia9Czxp9dr9v/e7Yn/O0QJXxxBOJmceP/DBFa1q1v6oudn/e6qc/37dUoNvnYL4plQ9OoneYOh/r8fOFm7yl7FETHY9dXd5K2n/qEc53dOEe1TTJcvCfp1dpTC334l0vyaFL6mttNEbFjzO+ZV2mLk0qc3BrxJ4d9gweMmjRorxb7vic0rSq6D4wzAyFWas1TqPE0sLI8XLAryC8tPChaN3ALEZSWmtB34SyZcxXYn/E4Tg0LeMIPhgPKD9zyHGMxxhxnDDih7eI86xECTM8zodUCdgffUmRh4rQ8zyA6ow/Aei+01a8OMfziQQ+GAEkhwN/cqUFYAVzA9ex4n6jgtsiMvXf5BtXxEU4hSphvx3v8+9au8eEekEEpkrkne/zB1M+HAPuXIz3paxKlfe8aDMfGWAX6Md6PuuAdKHFVH++Ed5LEji94Z5zeiJIxbmWeN7rr1/ZcaBl5/nimdHsHgIH/ssyLUXZ4fDQ46HnBb+hQqG8yNiKRrXL/b1IPYDUsu3dFKtRMcjqlRvONd4xBvOufx2cUHuk8pmG1D7PyOQmUmluisVFS9OWS8fPIe8LiCtjwJKnEC9hrS9uKmISI3Wa5+vdXUG9dtyfr7g/oJv2wbzeZU838G6mEvntUb3SVV/fBZ6H/sL+lElzeRrHy2Xbe7UWX1q5sgOQ81rv+2baej4fP4m5Mf/GkoxfDtT3++KP7do9Jn26aa6xAhCf5L9RZVfkWKCcjI1eYbm2plvTEqkDxKC402bGzXCYaGnuALHabBT1dFLuOSB7RorOPEhZah1NjZIgR/UFGfK3p1ElYnevOMBDLURdpIjrI+qZk4sffGbRFiXuEmdFjiAODlQCJvIaB1rW61Ljg3y4eS4LAcSgDxxZQs0DYa15wA032Z+lGUfpoyOrFo3mg1sRQtN/fHHCx3TrM8eTrldMbYisDLXbUDoXMLejSq0fUNuO1muX0gEa8vgyegkqiqqbC3W0S4cC9Kmt8MuS/hFO7Xei3f8rSvIjeveMM7kxjUixOrl6gJshe4JU7PhOHpfrRYvu7yoAZKa3Buyk2J+K5W+nNTz1nhJDhRUfDJLiUXxjxXCJeeaOe/r7HlBP/uURc/5efaZEPxr55Qj39rfTLkugUGyMrwo7HAglfEjDriehF1jXtwJkPoiYkYQ5aoXSA7qbCBGKq5hwtu2VkpI9xVDop/1xrC52eiIvCoPWx4lLl40jm9upvycVPfpaH9/o2D4xKXpeNjE2HPQRS+3RFaYTc4Txw7Dvq5X6JBRwzs9mvoB49BK6b+XgsZVJYiInTlSXZ+62FT18mkFVcPKCJsoF5ahb19WheZLUYsSwdrrVM3aQ2XE6SzU2xHDS6iWkodk5AF6F8WUNmmushi8aVpMPwiIfEiQWo3CApONDRjrhDiVnkaFsaP5rjIJkmsN6V26li5LNM3JxGSyKgomknTyyrhcnwv9Qcqaq5utAh44W30SWo8Q0XHKR0glPF4fWst1FUCnk2woFq3iy9fAbzcjJ8fvSjgKVOfn14RDqyQuIgaGJZuswTywdCFSa89SakMf6fe+9KaQMYQlKxiJBczuPSho4wmBjdA+ag6QUOr2GdpcbSl51Ay6khhBt5UXdrnxc7ZGMxCvz96A4oLocxh2+px+1zkyLacCGrxnPzTRSgrLKpStFpH5ppKWm7PgMKZtwgytKLOjbGCOQLTm+KOowqa1sdut9raj1CZFkZD0jbaKNLpJUarSH5Qknx1YiOxdA5L6d5sfI/unmkSF65Ic/AvtXt98Pnrdwl5vgppQ3dYzWFwknZsy6xh2llmLxpegF8ayLwniknlXRHiF4hzzrgB8jQ4wdIqcaHCEAxyJwCeGkXPBZYSrrGa4vMwZvNN9aK0F4JBOK9mQ8g8EjEbIQVwvfS2D8GuCYsdqwqSWbQrfWdTRUJMqmpnWPax4Z7E137I6brHbvjpPlfNZpF1d7PP7HB/MPHcHVKTMhLO4f3CZcaccZEOiS2DpKiQB5KXDJ+Ospcz4qTRCRxgrKEQIgUkKLTKKwskdx2DWo3bg3PEoB5h2nA24olwfKSR+QR6TAvEDi/0czhUT59RZmO1MGeKGeEfuOSPWfL+XKmhqpZmOVR9mJVNDPKOS49Lq+Um10YsBybzDMtemlPCOJEtE8zaXhsaqEs9bngSJGhlOTTMlCXly9Qv5cRN3PVLK7zoMptutf7ihutrQ/Xj7VqeCdUwleTTKklOI8Wep9h7fCY0kVtDtIWKnubWAvbNZtsRRqOYl802vebPEkZRSZc6wXOfPtpPtN5HI63EUFfsy7U/TLr8NkIzaY3vx4A28x765XZMzRZTpMk81YIMuwJ5+/zoCuZj1wGnaHObxa5rpKZj4WhT670maRw04w0e3cZW74Z0aZe2n05hjZaxm6urenz8Ef5O6Yu1J2aqYAlqsCXs5ZB5o1JJ5l3xkTVr8rJQ09NLsBqRRDT2IIjOPmcJa6xQ1R5yGP9jAsj23xYDTezdyqG8YWZ7vJBIWK56K+iDgcHimiQOTIasNSua1fOBxsKMMEKd15jxTl+3CyvGCR+UyRwuSI2XuwRIPoNNclPihfJhaq2mKkNijwYLY6feqohktukmI3KDvOpN7ItCqHHhNuKlxMfBAEO5LjW2RKh6lE5Hd1dtAOopac/Z4FdsNsjMhXz/ug8JGmbVJTA+VOBJXdrYyJcIn5+OEeoK8kWEWF+wdG8ZtZHKSquWDtDVyhFPkRVqguKFkLkKCz46hcU1SUY9oJ2Sk+dmq0kglqk4kqKT1CV9JDELPjK1WsWGkEXF87g9P98e5ff0mIupm/w6vc3kCeq04X5bgJQlcMFRjlFWmSk+kssXCAVikfeAlMuzpUvCSdXiG+dc6KrIiLxxhbEVuKf7vW7KmDQI95bZe3H9mN3/77F6fZ2Yx/F9yClllj8gXpLWLpd5+v90iOaFa9sd7Pvx0lNa1o1+bkiZ69wCiC2x9UIb6/boBCuNMB/HYR0RC6+FD9Oe5qrgQl6JbXtkaYn0wkdNhROLqyhv6cKvyMj1Fvs2o3OOKoMYTubGENLfY5F6H9d8wX1cnINsvz+wZFQu3zhWVlwJvwBEp69Dqu/ZnkBf3nIfbx4TK7zOVJH5sGJX+IMwkn1vVBn38GbpTg9bJnMcTOb5F6Ci5gOn9Fcy6Qzcu+FL6mYJJ+f2ZZJGda1VqruZ0JRXItp8X0aTjIcJgzdaXlha7q7kV4ebrMsunfsRyRa9qYuryBHA0hc1KVsKdE+oI0ljLmSAyMze8lWmc5/lQ18slyTVC/vADTc+SNM5++gztTBLz4m0aVUKcfgOEExuKVomJ7XQDZuziMDjG6JP9tgR7JXZTeo9RGetW/Xm9/TgPJpTgHACPOGvmy2mDm9fl09WeMm9sQUAXP3Su2uApeCwJVT5iWCXDgmcuTsFgU9Nm6/PusJzSbDQIMfl6INY/OAEvZRN54BSSXUClM51im6Wn9VhVamKJmzOaFJErgJcs0etFZ40LIF3EPkjFTjGmAhsd174NnOwJW8TdJ1Dja+E6Wa6FVS22Haj1DDA474EesoMP5nbspAPJLWJ8rYcP1DwCslhnn+gTFm+sS9wY+U6SogAa9tiwpoxuaFeqm2OK+uozR6SfiLCOPz36LiDlzXr6UWd7BpY6mlrNANkTOeme5EgnnAkQRTGo9T6iYxbUKfGJcI9B+ub2PcyUOgpwXbOf3bHFWtygD7FYbRhb+vkzi87dB0JeXl/vBpBUz93VtqZi7AL7C1VowTF+tGmyurw7DBcktc+UMY0E10Jw4URojf8NdaNpN6E1q4+Oz+4YePtMLy8FPRP"),_=new f(x),W=function(e){return e===t?r:e===m||e===P||e===p?r:e===s?X:e},N=function(e){return e===u||e===d?i:e===o?n:e===K?g:e};class O{constructor(e,a=!1){this.position=e,this.required=a}}a.exports=class e{constructor(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}nextCodePoint(){const e=this.string.charCodeAt(this.pos++),a=this.string.charCodeAt(this.pos);return 55296<=e&&56319>=e&&56320<=a&&57343>=a?(this.pos++,1024*(e-55296)+(a-56320)+65536):e}nextCharClass(){return W(_.get(this.nextCodePoint()))}nextBreak(){for(null==this.curClass&&(this.curClass=N(this.nextCharClass()));this.pos<this.string.length;){this.lastPos=this.pos;const e=this.nextClass;if(this.nextClass=this.nextCharClass(),this.curClass===i||this.curClass===c&&this.nextClass!==u)return this.curClass=N(W(this.nextClass)),new O(this.lastPos,!0);let a;switch(this.nextClass){case K:a=this.curClass;break;case i:case u:case d:a=i;break;case c:a=c;break;case o:a=n;}if(null!=a){if(this.curClass=a,this.nextClass===o)return new O(this.lastPos);continue}let t=!1;switch(B[this.curClass][this.nextClass]){case y:t=!0;break;case b:t=e===K;break;case A:if(t=e===K,!t)continue;break;case v:if(e!==K)continue;}if(this.curClass=this.nextClass,t)return new O(this.lastPos)}if(this.pos>=this.string.length)return this.lastPos<this.string.length?(this.lastPos=this.string.length,new O(this.string.length)):null}}},{"./classes":335,"./pairs":337,"base64-js":333,"unicode-trie":334}],337:[function(e,a,t){let r,n,i,o,c;t.DI_BRK=i=0,t.IN_BRK=o=1,t.CI_BRK=r=2,t.CP_BRK=n=3,t.PR_BRK=c=4,t.pairTable=[[c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,n,c,c,c,c,c,c,c],[i,c,c,o,o,c,c,c,c,o,o,i,i,i,i,i,o,o,i,i,c,r,c,i,i,i,i,i,i],[i,c,c,o,o,c,c,c,c,o,o,o,o,o,i,i,o,o,i,i,c,r,c,i,i,i,i,i,i],[c,c,c,o,o,o,c,c,c,o,o,o,o,o,o,o,o,o,o,o,c,r,c,o,o,o,o,o,o],[o,c,c,o,o,o,c,c,c,o,o,o,o,o,o,o,o,o,o,o,c,r,c,o,o,o,o,o,o],[i,c,c,o,o,o,c,c,c,i,i,i,i,i,i,i,o,o,i,i,c,r,c,i,i,i,i,i,i],[i,c,c,o,o,o,c,c,c,i,i,i,i,i,i,i,o,o,i,i,c,r,c,i,i,i,i,i,i],[i,c,c,o,o,o,c,c,c,i,i,o,i,i,i,i,o,o,i,i,c,r,c,i,i,i,i,i,i],[i,c,c,o,o,o,c,c,c,i,i,o,o,o,i,i,o,o,i,i,c,r,c,i,i,i,i,i,i],[o,c,c,o,o,o,c,c,c,i,i,o,o,o,o,i,o,o,i,i,c,r,c,o,o,o,o,o,i],[o,c,c,o,o,o,c,c,c,i,i,o,o,o,i,i,o,o,i,i,c,r,c,i,i,i,i,i,i],[o,c,c,o,o,o,c,c,c,o,o,o,o,o,i,o,o,o,i,i,c,r,c,i,i,i,i,i,i],[o,c,c,o,o,o,c,c,c,i,i,o,o,o,i,o,o,o,i,i,c,r,c,i,i,i,i,i,i],[o,c,c,o,o,o,c,c,c,i,i,o,o,o,i,o,o,o,i,i,c,r,c,i,i,i,i,i,i],[i,c,c,o,o,o,c,c,c,i,o,i,i,i,i,o,o,o,i,i,c,r,c,i,i,i,i,i,i],[i,c,c,o,o,o,c,c,c,i,i,i,i,i,i,o,o,o,i,i,c,r,c,i,i,i,i,i,i],[i,c,c,o,i,o,c,c,c,i,i,o,i,i,i,i,o,o,i,i,c,r,c,i,i,i,i,i,i],[i,c,c,o,i,o,c,c,c,i,i,i,i,i,i,i,o,o,i,i,c,r,c,i,i,i,i,i,i],[o,c,c,o,o,o,c,c,c,o,o,o,o,o,o,o,o,o,o,o,c,r,c,o,o,o,o,o,o],[i,c,c,o,o,o,c,c,c,i,i,i,i,i,i,i,o,o,i,c,c,r,c,i,i,i,i,i,i],[i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,c,i,i,i,i,i,i,i,i],[o,c,c,o,o,o,c,c,c,i,i,o,o,o,i,o,o,o,i,i,c,r,c,i,i,i,i,i,i],[o,c,c,o,o,o,c,c,c,o,o,o,o,o,o,o,o,o,o,o,c,r,c,o,o,o,o,o,o],[i,c,c,o,o,o,c,c,c,i,o,i,i,i,i,o,o,o,i,i,c,r,c,i,i,i,o,o,i],[i,c,c,o,o,o,c,c,c,i,o,i,i,i,i,o,o,o,i,i,c,r,c,i,i,i,i,o,i],[i,c,c,o,o,o,c,c,c,i,o,i,i,i,i,o,o,o,i,i,c,r,c,o,o,o,o,i,i],[i,c,c,o,o,o,c,c,c,i,o,i,i,i,i,o,o,o,i,i,c,r,c,i,i,i,o,o,i],[i,c,c,o,o,o,c,c,c,i,o,i,i,i,i,o,o,o,i,i,c,r,c,i,i,i,i,o,i],[i,c,c,o,o,o,c,c,c,i,i,i,i,i,i,i,o,o,i,i,c,r,c,i,i,i,i,i,o]]},{}],338:[function(e,a){(function(t){function r(e){var a=Object.prototype.toString;return"[object ArrayBuffer]"===a.call(e)}function n(e){if(X)return d(e,{responseType:"arraybuffer"});if("undefined"==typeof self.XMLHttpRequest)throw new Error("your browser does not support XHR loading");var a=new self.XMLHttpRequest;return a.overrideMimeType("text/plain; charset=x-user-defined"),d({xhr:a},e)}var i=e("xhr"),o=function(){},c=e("parse-bmfont-ascii"),s=e("parse-bmfont-xml"),l=e("parse-bmfont-binary"),u=e("./lib/is-binary"),d=e("xtend"),X=function(){return self.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}();a.exports=function(e,a){a="function"==typeof a?a:o,"string"==typeof e?e={uri:e}:!e&&(e={});var d=e.binary;d&&(e=n(e)),i(e,function(n,i,d){if(n)return a(n);if(!/^2/.test(i.statusCode))return a(new Error("http status code: "+i.statusCode));if(!d)return a(new Error("no body result"));var X=!1;if(r(d)){var m=new Uint8Array(d);d=t.from(m,"binary")}u(d)&&(X=!0,"string"==typeof d&&(d=t.from(d,"binary"))),X||(t.isBuffer(d)&&(d=d.toString(e.encoding)),d=d.trim());var P;try{var K=i.headers["content-type"];P=X?l(d):/json/.test(K)||"{"===d.charAt(0)?JSON.parse(d):/xml/.test(K)||"<"===d.charAt(0)?s(d):c(d)}catch(t){a(new Error("error parsing font "+t.message)),a=o}a(null,P)})}}).call(this,e("buffer").Buffer)},{"./lib/is-binary":339,buffer:119,"parse-bmfont-ascii":366,"parse-bmfont-binary":367,"parse-bmfont-xml":368,xhr:478,xtend:480}],339:[function(e,a){(function(t){var r=e("buffer-equal"),n=t.from([66,77,70,3]);a.exports=function(e){return"string"==typeof e?"BMF"===e.substring(0,3):4<e.length&&r(e.slice(0,4),n)}}).call(this,e("buffer").Buffer)},{buffer:119,"buffer-equal":118}],340:[function(e,a){function t(e,a,o,c){"function"==typeof a?(o=a,a={}):(!a||"object"!=typeof a)&&(a={mode:a});var s=a.mode,l=a.fs||n;s===void 0&&(s=i),c||(c=null);var u=o||function(){};e=r.resolve(e),l.mkdir(e,s,function(n){if(!n)return c=c||e,u(null,c);switch(n.code){case"ENOENT":if(r.dirname(e)===e)return u(n);t(r.dirname(e),a,function(r,n){r?u(r,n):t(e,a,u,n)});break;default:l.stat(e,function(e,a){e||!a.isDirectory()?u(n,c):u(null,c)});}})}var r=e("path"),n=e("fs"),i=parseInt("0777",8);a.exports=t.mkdirp=t.mkdirP=t,t.sync=function e(a,t,o){t&&"object"==typeof t||(t={mode:t});var c=t.mode,s=t.fs||n;c===void 0&&(c=i),o||(o=null),a=r.resolve(a);try{s.mkdirSync(a,c),o=o||a}catch(n){switch(n.code){case"ENOENT":o=e(r.dirname(a),t,o),e(a,t,o);break;default:var l;try{l=s.statSync(a)}catch(e){throw n}if(!l.isDirectory())throw n;}}return o}},{fs:114,path:371}],341:[function(e,a){/* |
| 191 | object-assign |
| 192 | (c) Sindre Sorhus |
| 193 | @license MIT |
no test coverage detected