@bonsae/nrg 0.25.1 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/package.json +6 -4
  2. package/server/index.cjs +1413 -2
  3. package/server/resources/nrg-client.js +10 -0
  4. package/test/client/component/config.js +9 -9
  5. package/test/client/component/index.js +230 -42
  6. package/test/client/component/nrg.css +1 -0
  7. package/test/client/component/schemas.js +37 -0
  8. package/test/client/component/setup.js +1473 -198
  9. package/test/client/e2e/index.js +33 -35
  10. package/test/client/unit/index.js +17 -2
  11. package/test/server/integration/index.js +1222 -11
  12. package/test/server/unit/index.js +184 -2
  13. package/types/client.d.ts +1 -1
  14. package/types/server.d.ts +8 -2
  15. package/types/shims/components.d.ts +8 -8
  16. package/types/shims/{client → core/client}/types.d.ts +2 -2
  17. package/types/shims/core/schema-options.d.ts +24 -0
  18. package/types/shims/schema-options.d.ts +17 -17
  19. package/types/test-client-component-schemas.d.ts +73 -0
  20. package/types/test-client-component.d.ts +153 -7
  21. package/types/test-client-unit.d.ts +105 -4
  22. package/types/test-server-integration.d.ts +64 -63
  23. package/types/test-server-unit.d.ts +2 -1
  24. package/vite/index.js +33 -35
  25. /package/types/shims/{client → core/client}/form/components/node-red-config-input.vue.d.ts +0 -0
  26. /package/types/shims/{client → core/client}/form/components/node-red-editor-input.vue.d.ts +0 -0
  27. /package/types/shims/{client → core/client}/form/components/node-red-input-label.vue.d.ts +0 -0
  28. /package/types/shims/{client → core/client}/form/components/node-red-input.vue.d.ts +0 -0
  29. /package/types/shims/{client → core/client}/form/components/node-red-json-schema-form.vue.d.ts +0 -0
  30. /package/types/shims/{client → core/client}/form/components/node-red-select-input.vue.d.ts +0 -0
  31. /package/types/shims/{client → core/client}/form/components/node-red-toggle.vue.d.ts +0 -0
  32. /package/types/shims/{client → core/client}/form/components/node-red-typed-input.vue.d.ts +0 -0
  33. /package/types/shims/{constants.d.ts → core/constants.d.ts} +0 -0
  34. /package/types/shims/{brands.d.ts → core/types.d.ts} +0 -0
@@ -0,0 +1,10 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('.nrg-toggles-grid[data-v-87ada69a]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px 16px}.nrg-toggles-grid .form-row[data-v-87ada69a]{margin-bottom:0}.nrg-section[data-v-87ada69a]{border-top:1px solid var(--red-ui-secondary-border-color, #ddd);margin-top:12px;padding-top:8px}.nrg-section-lifecycle[data-v-87ada69a]{padding-bottom:16px}.nrg-section-title[data-v-87ada69a]{font-weight:700;font-size:14px;margin-bottom:8px}.nrg-help[data-v-87ada69a]{font-size:11px;line-height:1.4;color:var(--red-ui-text-color-disabled, #999);margin:2px 0 6px}.nrg-help-link[data-v-87ada69a]{color:var(--red-ui-text-color-link, #2196f3);white-space:nowrap}.nrg-help-link[data-v-87ada69a]:hover{text-decoration:underline}.nrg-subsection[data-v-87ada69a]{margin-bottom:10px}.nrg-subsection-title[data-v-87ada69a]{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--red-ui-text-color-disabled, #777);margin:6px 0 4px}.nrg-outputs[data-v-87ada69a]{width:100%;max-width:100%;table-layout:fixed;margin-top:6px;border-collapse:separate;border-spacing:0;border:1px solid var(--red-ui-secondary-border-color, #d9d9d9);border-radius:3px;overflow:hidden;font-size:12px}.nrg-outputs th[data-v-87ada69a],.nrg-outputs td[data-v-87ada69a]{padding:5px 8px;text-align:center;vertical-align:middle;border-right:1px solid var(--red-ui-secondary-border-color, #e6e6e6);border-bottom:1px solid var(--red-ui-secondary-border-color, #e6e6e6)}.nrg-outputs th[data-v-87ada69a]:last-child,.nrg-outputs td[data-v-87ada69a]:last-child{border-right:none}.nrg-outputs tbody tr:last-child td[data-v-87ada69a]{border-bottom:none}.nrg-outputs thead th[data-v-87ada69a]{background:var(--red-ui-tertiary-background, #f3f3f3);color:var(--red-ui-text-color-disabled, #777);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.nrg-outputs-index[data-v-87ada69a]{width:3em}.nrg-outputs-flag[data-v-87ada69a]{width:116px;white-space:nowrap}.nrg-outputs-flag .nrg-toggle-wrapper[data-v-87ada69a]{justify-content:center}.nrg-outputs-return[data-v-87ada69a]{width:100%;height:28px;box-sizing:border-box;padding:0 6px;text-align:left;border:1px solid var( --red-ui-form-input-border-color, var(--red-ui-secondary-border-color, #ccc) );border-radius:2px;background:var(--red-ui-form-input-background, #fff);color:var(--red-ui-form-text-color, inherit)}.nrg-outputs-context[data-v-87ada69a]{width:100%;height:28px;box-sizing:border-box;padding:0 6px;text-align:center;border:1px solid var( --red-ui-form-input-border-color, var(--red-ui-secondary-border-color, #ccc) );border-radius:2px;background:var(--red-ui-form-input-background, #fff);color:var(--red-ui-form-text-color, inherit)}.nrg-outputs-context[data-v-87ada69a]:disabled{opacity:.6;cursor:not-allowed}.nrg-outputs td .nrg-outputs-return[data-v-87ada69a],.nrg-outputs td .nrg-outputs-context[data-v-87ada69a]{height:28px;margin:0;padding:0 6px;line-height:normal}[data-v-87ada69a] .node-red-vue-input-error-message{color:var(--red-ui-text-color-error)}[data-v-87ada69a] .form-row input[type=text],[data-v-87ada69a] .form-row input[type=number],[data-v-87ada69a] .form-row input[type=password]{height:34px;padding:0 8px;box-sizing:border-box}.nrg-label[data-v-864b02f2]{display:inline-block;width:100%;margin-bottom:4px;cursor:default}.nrg-label i[data-v-864b02f2]{margin-right:5px}.nrg-required[data-v-864b02f2]{color:var(--red-ui-text-color-error);margin-left:2px}.editor-wrapper[data-v-ea93e881]{position:relative}.expand-button[data-v-ea93e881]{position:absolute;top:-23px;right:0;z-index:10;transition:color .3s ease;cursor:pointer}.nrg-toggle-wrapper[data-v-724dcae4]{display:inline-flex;align-items:center}.nrg-toggle[data-v-724dcae4]{position:relative;display:inline-flex!important;flex-direction:column;align-items:flex-start;cursor:pointer;gap:4px;-webkit-user-select:none;user-select:none}.nrg-toggle__input[data-v-724dcae4]{position:absolute;opacity:0;width:0;height:0}.nrg-toggle__slider[data-v-724dcae4]{position:relative;display:inline-block;width:36px;min-width:36px;height:20px;background-color:var(--red-ui-secondary-border-color, #ccc);border-radius:10px;transition:background-color .2s ease}.nrg-toggle__slider[data-v-724dcae4]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:#fff;border-radius:50%;transition:transform .2s ease}.nrg-toggle--checked .nrg-toggle__slider[data-v-724dcae4]{background-color:var(--red-ui-text-color-link, #0070d2)}.nrg-toggle--checked .nrg-toggle__slider[data-v-724dcae4]:after{transform:translate(16px)}.nrg-toggle__label[data-v-724dcae4]{cursor:default;white-space:nowrap}.nrg-toggle__label i[data-v-724dcae4]{margin-right:2px}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();var Tn=Object.defineProperty,Cn=(e,t,r)=>t in e?Tn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Vn=(e,t,r)=>Cn(e,typeof t!="symbol"?t+"":t,r);import{defineComponent as Pe,shallowRef as Ie,resolveComponent as me,openBlock as G,createElementBlock as J,Fragment as Ue,createCommentVNode as te,createElementVNode as Z,createVNode as we,toDisplayString as ne,createTextVNode as Fe,renderList as Xe,normalizeClass as Wt,renderSlot as Te,createBlock as $e,withDirectives as Rn,vShow as Mn,Teleport as An,createApp as qn,inject as Gt}from"/nrg/assets/vue.esm-browser.prod.js";function et(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ke={},fr;function zn(){if(fr)return Ke;fr=1;var e=/~/,t=/~[01]/g;function r(m){switch(m){case"~1":return"/";case"~0":return"~"}throw new Error("Invalid tilde escape: "+m)}function o(m){return e.test(m)?m.replace(t,r):m}function a(m,y,k){for(var b,l,v=1,E=y.length;v<E;){if(y[v]==="constructor"||y[v]==="prototype"||y[v]==="__proto__")return m;if(b=o(y[v++]),l=E>v,typeof m[b]>"u"&&(Array.isArray(m)&&b==="-"&&(b=m.length),l&&(y[v]!==""&&y[v]<1/0||y[v]==="-"?m[b]=[]:m[b]={})),!l)break;m=m[b]}var f=m[b];return k===void 0?delete m[b]:m[b]=k,f}function c(m){if(typeof m=="string"){if(m=m.split("/"),m[0]==="")return m;throw new Error("Invalid JSON pointer.")}else if(Array.isArray(m)){for(const y of m)if(typeof y!="string"&&typeof y!="number")throw new Error("Invalid JSON pointer. Must be of type string or number.");return m}throw new Error("Invalid JSON pointer.")}function i(m,y){if(typeof m!="object")throw new Error("Invalid input object.");y=c(y);var k=y.length;if(k===1)return m;for(var b=1;b<k;){if(m=m[o(y[b++])],k===b)return m;if(typeof m!="object"||m===null)return}}function u(m,y,k){if(typeof m!="object")throw new Error("Invalid input object.");if(y=c(y),y.length===0)throw new Error("Invalid JSON pointer for set.");return a(m,y,k)}function h(m){var y=c(m);return{get:function(k){return i(k,y)},set:function(k,b){return u(k,y,b)}}}return Ke.get=i,Ke.set=u,Ke.compile=h,Ke}var Ln=zn();const pr=et(Ln);var Ht={exports:{}},hr={},Ee={},Ce={},mr={},yr={},vr={},gr;function Be(){return gr||(gr=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends t{constructor(n){if(super(),!e.IDENTIFIER.test(n))throw new Error("CodeGen: name must be a valid identifier");this.str=n}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=r;class o extends t{constructor(n){super(),this._items=typeof n=="string"?[n]:n}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const n=this._items[0];return n===""||n==='""'}get str(){var n;return(n=this._str)!==null&&n!==void 0?n:this._str=this._items.reduce((s,_)=>`${s}${_}`,"")}get names(){var n;return(n=this._names)!==null&&n!==void 0?n:this._names=this._items.reduce((s,_)=>(_ instanceof r&&(s[_.str]=(s[_.str]||0)+1),s),{})}}e._Code=o,e.nil=new o("");function a(p,...n){const s=[p[0]];let _=0;for(;_<n.length;)u(s,n[_]),s.push(p[++_]);return new o(s)}e._=a;const c=new o("+");function i(p,...n){const s=[l(p[0])];let _=0;for(;_<n.length;)s.push(c),u(s,n[_]),s.push(c,l(p[++_]));return h(s),new o(s)}e.str=i;function u(p,n){n instanceof o?p.push(...n._items):n instanceof r?p.push(n):p.push(k(n))}e.addCodeArg=u;function h(p){let n=1;for(;n<p.length-1;){if(p[n]===c){const s=m(p[n-1],p[n+1]);if(s!==void 0){p.splice(n-1,3,s);continue}p[n++]="+"}n++}}function m(p,n){if(n==='""')return p;if(p==='""')return n;if(typeof p=="string")return n instanceof r||p[p.length-1]!=='"'?void 0:typeof n!="string"?`${p.slice(0,-1)}${n}"`:n[0]==='"'?p.slice(0,-1)+n.slice(1):void 0;if(typeof n=="string"&&n[0]==='"'&&!(p instanceof r))return`"${p}${n.slice(1)}`}function y(p,n){return n.emptyStr()?p:p.emptyStr()?n:i`${p}${n}`}e.strConcat=y;function k(p){return typeof p=="number"||typeof p=="boolean"||p===null?p:l(Array.isArray(p)?p.join(","):p)}function b(p){return new o(l(p))}e.stringify=b;function l(p){return JSON.stringify(p).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}e.safeStringify=l;function v(p){return typeof p=="string"&&e.IDENTIFIER.test(p)?new o(`.${p}`):a`[${p}]`}e.getProperty=v;function E(p){if(typeof p=="string"&&e.IDENTIFIER.test(p))return new o(`${p}`);throw new Error(`CodeGen: invalid export name: ${p}, use explicit $id name mapping`)}e.getEsmExportName=E;function f(p){return new o(p.toString())}e.regexpCode=f})(vr)),vr}var $r={},br;function _r(){return br||(br=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;const t=Be();class r extends Error{constructor(m){super(`CodeGen: "code" for ${m} not defined`),this.value=m.value}}var o;(function(h){h[h.Started=0]="Started",h[h.Completed=1]="Completed"})(o||(e.UsedValueState=o={})),e.varKinds={const:new t.Name("const"),let:new t.Name("let"),var:new t.Name("var")};class a{constructor({prefixes:m,parent:y}={}){this._names={},this._prefixes=m,this._parent=y}toName(m){return m instanceof t.Name?m:this.name(m)}name(m){return new t.Name(this._newName(m))}_newName(m){const y=this._names[m]||this._nameGroup(m);return`${m}${y.index++}`}_nameGroup(m){var y,k;if(!((k=(y=this._parent)===null||y===void 0?void 0:y._prefixes)===null||k===void 0)&&k.has(m)||this._prefixes&&!this._prefixes.has(m))throw new Error(`CodeGen: prefix "${m}" is not allowed in this scope`);return this._names[m]={prefix:m,index:0}}}e.Scope=a;class c extends t.Name{constructor(m,y){super(y),this.prefix=m}setValue(m,{property:y,itemIndex:k}){this.value=m,this.scopePath=(0,t._)`.${new t.Name(y)}[${k}]`}}e.ValueScopeName=c;const i=(0,t._)`\n`;class u extends a{constructor(m){super(m),this._values={},this._scope=m.scope,this.opts={...m,_n:m.lines?i:t.nil}}get(){return this._scope}name(m){return new c(m,this._newName(m))}value(m,y){var k;if(y.ref===void 0)throw new Error("CodeGen: ref must be passed in value");const b=this.toName(m),{prefix:l}=b,v=(k=y.key)!==null&&k!==void 0?k:y.ref;let E=this._values[l];if(E){const n=E.get(v);if(n)return n}else E=this._values[l]=new Map;E.set(v,b);const f=this._scope[l]||(this._scope[l]=[]),p=f.length;return f[p]=y.ref,b.setValue(y,{property:l,itemIndex:p}),b}getValue(m,y){const k=this._values[m];if(k)return k.get(y)}scopeRefs(m,y=this._values){return this._reduceValues(y,k=>{if(k.scopePath===void 0)throw new Error(`CodeGen: name "${k}" has no value`);return(0,t._)`${m}${k.scopePath}`})}scopeCode(m=this._values,y,k){return this._reduceValues(m,b=>{if(b.value===void 0)throw new Error(`CodeGen: name "${b}" has no value`);return b.value.code},y,k)}_reduceValues(m,y,k={},b){let l=t.nil;for(const v in m){const E=m[v];if(!E)continue;const f=k[v]=k[v]||new Map;E.forEach(p=>{if(f.has(p))return;f.set(p,o.Started);let n=y(p);if(n){const s=this.opts.es5?e.varKinds.var:e.varKinds.const;l=(0,t._)`${l}${s} ${p} = ${n};${this.opts._n}`}else if(n=b?.(p))l=(0,t._)`${l}${n}${this.opts._n}`;else throw new r(p);f.set(p,o.Completed)})}return l}}e.ValueScope=u})($r)),$r}var wr;function Q(){return wr||(wr=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=Be(),r=_r();var o=Be();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return o._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return o.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return o.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return o.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return o.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return o.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return o.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return o.Name}});var a=_r();Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return a.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return a.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return a.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return a.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class c{optimizeNodes(){return this}optimizeNames(d,P){return this}}class i extends c{constructor(d,P,T){super(),this.varKind=d,this.name=P,this.rhs=T}render({es5:d,_n:P}){const T=d?r.varKinds.var:this.varKind,D=this.rhs===void 0?"":` = ${this.rhs}`;return`${T} ${this.name}${D};`+P}optimizeNames(d,P){if(d[this.name.str])return this.rhs&&(this.rhs=B(this.rhs,d,P)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class u extends c{constructor(d,P,T){super(),this.lhs=d,this.rhs=P,this.sideEffects=T}render({_n:d}){return`${this.lhs} = ${this.rhs};`+d}optimizeNames(d,P){if(!(this.lhs instanceof t.Name&&!d[this.lhs.str]&&!this.sideEffects))return this.rhs=B(this.rhs,d,P),this}get names(){const d=this.lhs instanceof t.Name?{}:{...this.lhs.names};return F(d,this.rhs)}}class h extends u{constructor(d,P,T,D){super(d,T,D),this.op=P}render({_n:d}){return`${this.lhs} ${this.op}= ${this.rhs};`+d}}class m extends c{constructor(d){super(),this.label=d,this.names={}}render({_n:d}){return`${this.label}:`+d}}class y extends c{constructor(d){super(),this.label=d,this.names={}}render({_n:d}){return`break${this.label?` ${this.label}`:""};`+d}}class k extends c{constructor(d){super(),this.error=d}render({_n:d}){return`throw ${this.error};`+d}get names(){return this.error.names}}class b extends c{constructor(d){super(),this.code=d}render({_n:d}){return`${this.code};`+d}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(d,P){return this.code=B(this.code,d,P),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class l extends c{constructor(d=[]){super(),this.nodes=d}render(d){return this.nodes.reduce((P,T)=>P+T.render(d),"")}optimizeNodes(){const{nodes:d}=this;let P=d.length;for(;P--;){const T=d[P].optimizeNodes();Array.isArray(T)?d.splice(P,1,...T):T?d[P]=T:d.splice(P,1)}return d.length>0?this:void 0}optimizeNames(d,P){const{nodes:T}=this;let D=T.length;for(;D--;){const A=T[D];A.optimizeNames(d,P)||(ae(d,A.names),T.splice(D,1))}return T.length>0?this:void 0}get names(){return this.nodes.reduce((d,P)=>U(d,P.names),{})}}class v extends l{render(d){return"{"+d._n+super.render(d)+"}"+d._n}}class E extends l{}class f extends v{}f.kind="else";class p extends v{constructor(d,P){super(P),this.condition=d}render(d){let P=`if(${this.condition})`+super.render(d);return this.else&&(P+="else "+this.else.render(d)),P}optimizeNodes(){super.optimizeNodes();const d=this.condition;if(d===!0)return this.nodes;let P=this.else;if(P){const T=P.optimizeNodes();P=this.else=Array.isArray(T)?new f(T):T}if(P)return d===!1?P instanceof p?P:P.nodes:this.nodes.length?this:new p(se(d),P instanceof p?[P]:P.nodes);if(!(d===!1||!this.nodes.length))return this}optimizeNames(d,P){var T;if(this.else=(T=this.else)===null||T===void 0?void 0:T.optimizeNames(d,P),!!(super.optimizeNames(d,P)||this.else))return this.condition=B(this.condition,d,P),this}get names(){const d=super.names;return F(d,this.condition),this.else&&U(d,this.else.names),d}}p.kind="if";class n extends v{}n.kind="for";class s extends n{constructor(d){super(),this.iteration=d}render(d){return`for(${this.iteration})`+super.render(d)}optimizeNames(d,P){if(super.optimizeNames(d,P))return this.iteration=B(this.iteration,d,P),this}get names(){return U(super.names,this.iteration.names)}}class _ extends n{constructor(d,P,T,D){super(),this.varKind=d,this.name=P,this.from=T,this.to=D}render(d){const P=d.es5?r.varKinds.var:this.varKind,{name:T,from:D,to:A}=this;return`for(${P} ${T}=${D}; ${T}<${A}; ${T}++)`+super.render(d)}get names(){const d=F(super.names,this.from);return F(d,this.to)}}class g extends n{constructor(d,P,T,D){super(),this.loop=d,this.varKind=P,this.name=T,this.iterable=D}render(d){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(d)}optimizeNames(d,P){if(super.optimizeNames(d,P))return this.iterable=B(this.iterable,d,P),this}get names(){return U(super.names,this.iterable.names)}}class w extends v{constructor(d,P,T){super(),this.name=d,this.args=P,this.async=T}render(d){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(d)}}w.kind="func";class S extends l{render(d){return"return "+super.render(d)}}S.kind="return";class C extends v{render(d){let P="try"+super.render(d);return this.catch&&(P+=this.catch.render(d)),this.finally&&(P+=this.finally.render(d)),P}optimizeNodes(){var d,P;return super.optimizeNodes(),(d=this.catch)===null||d===void 0||d.optimizeNodes(),(P=this.finally)===null||P===void 0||P.optimizeNodes(),this}optimizeNames(d,P){var T,D;return super.optimizeNames(d,P),(T=this.catch)===null||T===void 0||T.optimizeNames(d,P),(D=this.finally)===null||D===void 0||D.optimizeNames(d,P),this}get names(){const d=super.names;return this.catch&&U(d,this.catch.names),this.finally&&U(d,this.finally.names),d}}class q extends v{constructor(d){super(),this.error=d}render(d){return`catch(${this.error})`+super.render(d)}}q.kind="catch";class L extends v{render(d){return"finally"+super.render(d)}}L.kind="finally";class R{constructor(d,P={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...P,_n:P.lines?`
2
+ `:""},this._extScope=d,this._scope=new r.Scope({parent:d}),this._nodes=[new E]}toString(){return this._root.render(this.opts)}name(d){return this._scope.name(d)}scopeName(d){return this._extScope.name(d)}scopeValue(d,P){const T=this._extScope.value(d,P);return(this._values[T.prefix]||(this._values[T.prefix]=new Set)).add(T),T}getScopeValue(d,P){return this._extScope.getValue(d,P)}scopeRefs(d){return this._extScope.scopeRefs(d,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(d,P,T,D){const A=this._scope.toName(P);return T!==void 0&&D&&(this._constants[A.str]=T),this._leafNode(new i(d,A,T)),A}const(d,P,T){return this._def(r.varKinds.const,d,P,T)}let(d,P,T){return this._def(r.varKinds.let,d,P,T)}var(d,P,T){return this._def(r.varKinds.var,d,P,T)}assign(d,P,T){return this._leafNode(new u(d,P,T))}add(d,P){return this._leafNode(new h(d,e.operators.ADD,P))}code(d){return typeof d=="function"?d():d!==t.nil&&this._leafNode(new b(d)),this}object(...d){const P=["{"];for(const[T,D]of d)P.length>1&&P.push(","),P.push(T),(T!==D||this.opts.es5)&&(P.push(":"),(0,t.addCodeArg)(P,D));return P.push("}"),new t._Code(P)}if(d,P,T){if(this._blockNode(new p(d)),P&&T)this.code(P).else().code(T).endIf();else if(P)this.code(P).endIf();else if(T)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(d){return this._elseNode(new p(d))}else(){return this._elseNode(new f)}endIf(){return this._endBlockNode(p,f)}_for(d,P){return this._blockNode(d),P&&this.code(P).endFor(),this}for(d,P){return this._for(new s(d),P)}forRange(d,P,T,D,A=this.opts.es5?r.varKinds.var:r.varKinds.let){const K=this._scope.toName(d);return this._for(new _(A,K,P,T),()=>D(K))}forOf(d,P,T,D=r.varKinds.const){const A=this._scope.toName(d);if(this.opts.es5){const K=P instanceof t.Name?P:this.var("_arr",P);return this.forRange("_i",0,(0,t._)`${K}.length`,H=>{this.var(A,(0,t._)`${K}[${H}]`),T(A)})}return this._for(new g("of",D,A,P),()=>T(A))}forIn(d,P,T,D=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(d,(0,t._)`Object.keys(${P})`,T);const A=this._scope.toName(d);return this._for(new g("in",D,A,P),()=>T(A))}endFor(){return this._endBlockNode(n)}label(d){return this._leafNode(new m(d))}break(d){return this._leafNode(new y(d))}return(d){const P=new S;if(this._blockNode(P),this.code(d),P.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(S)}try(d,P,T){if(!P&&!T)throw new Error('CodeGen: "try" without "catch" and "finally"');const D=new C;if(this._blockNode(D),this.code(d),P){const A=this.name("e");this._currNode=D.catch=new q(A),P(A)}return T&&(this._currNode=D.finally=new L,this.code(T)),this._endBlockNode(q,L)}throw(d){return this._leafNode(new k(d))}block(d,P){return this._blockStarts.push(this._nodes.length),d&&this.code(d).endBlock(P),this}endBlock(d){const P=this._blockStarts.pop();if(P===void 0)throw new Error("CodeGen: not in self-balancing block");const T=this._nodes.length-P;if(T<0||d!==void 0&&T!==d)throw new Error(`CodeGen: wrong number of nodes: ${T} vs ${d} expected`);return this._nodes.length=P,this}func(d,P=t.nil,T,D){return this._blockNode(new w(d,P,T)),D&&this.code(D).endFunc(),this}endFunc(){return this._endBlockNode(w)}optimize(d=1){for(;d-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(d){return this._currNode.nodes.push(d),this}_blockNode(d){this._currNode.nodes.push(d),this._nodes.push(d)}_endBlockNode(d,P){const T=this._currNode;if(T instanceof d||P&&T instanceof P)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${P?`${d.kind}/${P.kind}`:d.kind}"`)}_elseNode(d){const P=this._currNode;if(!(P instanceof p))throw new Error('CodeGen: "else" without "if"');return this._currNode=P.else=d,this}get _root(){return this._nodes[0]}get _currNode(){const d=this._nodes;return d[d.length-1]}set _currNode(d){const P=this._nodes;P[P.length-1]=d}}e.CodeGen=R;function U(N,d){for(const P in d)N[P]=(N[P]||0)+(d[P]||0);return N}function F(N,d){return d instanceof t._CodeOrName?U(N,d.names):N}function B(N,d,P){if(N instanceof t.Name)return T(N);if(!D(N))return N;return new t._Code(N._items.reduce((A,K)=>(K instanceof t.Name&&(K=T(K)),K instanceof t._Code?A.push(...K._items):A.push(K),A),[]));function T(A){const K=P[A.str];return K===void 0||d[A.str]!==1?A:(delete d[A.str],K)}function D(A){return A instanceof t._Code&&A._items.some(K=>K instanceof t.Name&&d[K.str]===1&&P[K.str]!==void 0)}}function ae(N,d){for(const P in d)N[P]=(N[P]||0)-(d[P]||0)}function se(N){return typeof N=="boolean"||typeof N=="number"||N===null?!N:(0,t._)`!${I(N)}`}e.not=se;const ue=O(e.operators.AND);function re(...N){return N.reduce(ue)}e.and=re;const de=O(e.operators.OR);function M(...N){return N.reduce(de)}e.or=M;function O(N){return(d,P)=>d===t.nil?P:P===t.nil?d:(0,t._)`${I(d)} ${N} ${I(P)}`}function I(N){return N instanceof t.Name?N:(0,t._)`(${N})`}})(yr)),yr}var Y={},Pr;function ee(){if(Pr)return Y;Pr=1,Object.defineProperty(Y,"__esModule",{value:!0}),Y.checkStrictMode=Y.getErrorPath=Y.Type=Y.useFunc=Y.setEvaluated=Y.evaluatedPropsToName=Y.mergeEvaluated=Y.eachItem=Y.unescapeJsonPointer=Y.escapeJsonPointer=Y.escapeFragment=Y.unescapeFragment=Y.schemaRefOrVal=Y.schemaHasRulesButRef=Y.schemaHasRules=Y.checkUnknownRules=Y.alwaysValidSchema=Y.toHash=void 0;const e=Q(),t=Be();function r(g){const w={};for(const S of g)w[S]=!0;return w}Y.toHash=r;function o(g,w){return typeof w=="boolean"?w:Object.keys(w).length===0?!0:(a(g,w),!c(w,g.self.RULES.all))}Y.alwaysValidSchema=o;function a(g,w=g.schema){const{opts:S,self:C}=g;if(!S.strictSchema||typeof w=="boolean")return;const q=C.RULES.keywords;for(const L in w)q[L]||_(g,`unknown keyword: "${L}"`)}Y.checkUnknownRules=a;function c(g,w){if(typeof g=="boolean")return!g;for(const S in g)if(w[S])return!0;return!1}Y.schemaHasRules=c;function i(g,w){if(typeof g=="boolean")return!g;for(const S in g)if(S!=="$ref"&&w.all[S])return!0;return!1}Y.schemaHasRulesButRef=i;function u({topSchemaRef:g,schemaPath:w},S,C,q){if(!q){if(typeof S=="number"||typeof S=="boolean")return S;if(typeof S=="string")return(0,e._)`${S}`}return(0,e._)`${g}${w}${(0,e.getProperty)(C)}`}Y.schemaRefOrVal=u;function h(g){return k(decodeURIComponent(g))}Y.unescapeFragment=h;function m(g){return encodeURIComponent(y(g))}Y.escapeFragment=m;function y(g){return typeof g=="number"?`${g}`:g.replace(/~/g,"~0").replace(/\//g,"~1")}Y.escapeJsonPointer=y;function k(g){return g.replace(/~1/g,"/").replace(/~0/g,"~")}Y.unescapeJsonPointer=k;function b(g,w){if(Array.isArray(g))for(const S of g)w(S);else w(g)}Y.eachItem=b;function l({mergeNames:g,mergeToName:w,mergeValues:S,resultToName:C}){return(q,L,R,U)=>{const F=R===void 0?L:R instanceof e.Name?(L instanceof e.Name?g(q,L,R):w(q,L,R),R):L instanceof e.Name?(w(q,R,L),L):S(L,R);return U===e.Name&&!(F instanceof e.Name)?C(q,F):F}}Y.mergeEvaluated={props:l({mergeNames:(g,w,S)=>g.if((0,e._)`${S} !== true && ${w} !== undefined`,()=>{g.if((0,e._)`${w} === true`,()=>g.assign(S,!0),()=>g.assign(S,(0,e._)`${S} || {}`).code((0,e._)`Object.assign(${S}, ${w})`))}),mergeToName:(g,w,S)=>g.if((0,e._)`${S} !== true`,()=>{w===!0?g.assign(S,!0):(g.assign(S,(0,e._)`${S} || {}`),E(g,S,w))}),mergeValues:(g,w)=>g===!0?!0:{...g,...w},resultToName:v}),items:l({mergeNames:(g,w,S)=>g.if((0,e._)`${S} !== true && ${w} !== undefined`,()=>g.assign(S,(0,e._)`${w} === true ? true : ${S} > ${w} ? ${S} : ${w}`)),mergeToName:(g,w,S)=>g.if((0,e._)`${S} !== true`,()=>g.assign(S,w===!0?!0:(0,e._)`${S} > ${w} ? ${S} : ${w}`)),mergeValues:(g,w)=>g===!0?!0:Math.max(g,w),resultToName:(g,w)=>g.var("items",w)})};function v(g,w){if(w===!0)return g.var("props",!0);const S=g.var("props",(0,e._)`{}`);return w!==void 0&&E(g,S,w),S}Y.evaluatedPropsToName=v;function E(g,w,S){Object.keys(S).forEach(C=>g.assign((0,e._)`${w}${(0,e.getProperty)(C)}`,!0))}Y.setEvaluated=E;const f={};function p(g,w){return g.scopeValue("func",{ref:w,code:f[w.code]||(f[w.code]=new t._Code(w.code))})}Y.useFunc=p;var n;(function(g){g[g.Num=0]="Num",g[g.Str=1]="Str"})(n||(Y.Type=n={}));function s(g,w,S){if(g instanceof e.Name){const C=w===n.Num;return S?C?(0,e._)`"[" + ${g} + "]"`:(0,e._)`"['" + ${g} + "']"`:C?(0,e._)`"/" + ${g}`:(0,e._)`"/" + ${g}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return S?(0,e.getProperty)(g).toString():"/"+y(g)}Y.getErrorPath=s;function _(g,w,S=g.opts.strictSchema){if(S){if(w=`strict mode: ${w}`,S===!0)throw new Error(w);g.self.logger.warn(w)}}return Y.checkStrictMode=_,Y}var tt={},Er;function Se(){if(Er)return tt;Er=1,Object.defineProperty(tt,"__esModule",{value:!0});const e=Q(),t={data:new e.Name("data"),valCxt:new e.Name("valCxt"),instancePath:new e.Name("instancePath"),parentData:new e.Name("parentData"),parentDataProperty:new e.Name("parentDataProperty"),rootData:new e.Name("rootData"),dynamicAnchors:new e.Name("dynamicAnchors"),vErrors:new e.Name("vErrors"),errors:new e.Name("errors"),this:new e.Name("this"),self:new e.Name("self"),scope:new e.Name("scope"),json:new e.Name("json"),jsonPos:new e.Name("jsonPos"),jsonLen:new e.Name("jsonLen"),jsonPart:new e.Name("jsonPart")};return tt.default=t,tt}var Sr;function We(){return Sr||(Sr=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=Q(),r=ee(),o=Se();e.keywordError={message:({keyword:f})=>(0,t.str)`must pass "${f}" keyword validation`},e.keyword$DataError={message:({keyword:f,schemaType:p})=>p?(0,t.str)`"${f}" keyword must be ${p} ($data)`:(0,t.str)`"${f}" keyword is invalid ($data)`};function a(f,p=e.keywordError,n,s){const{it:_}=f,{gen:g,compositeRule:w,allErrors:S}=_,C=k(f,p,n);s??(w||S)?h(g,C):m(_,(0,t._)`[${C}]`)}e.reportError=a;function c(f,p=e.keywordError,n){const{it:s}=f,{gen:_,compositeRule:g,allErrors:w}=s,S=k(f,p,n);h(_,S),g||w||m(s,o.default.vErrors)}e.reportExtraError=c;function i(f,p){f.assign(o.default.errors,p),f.if((0,t._)`${o.default.vErrors} !== null`,()=>f.if(p,()=>f.assign((0,t._)`${o.default.vErrors}.length`,p),()=>f.assign(o.default.vErrors,null)))}e.resetErrorsCount=i;function u({gen:f,keyword:p,schemaValue:n,data:s,errsCount:_,it:g}){if(_===void 0)throw new Error("ajv implementation error");const w=f.name("err");f.forRange("i",_,o.default.errors,S=>{f.const(w,(0,t._)`${o.default.vErrors}[${S}]`),f.if((0,t._)`${w}.instancePath === undefined`,()=>f.assign((0,t._)`${w}.instancePath`,(0,t.strConcat)(o.default.instancePath,g.errorPath))),f.assign((0,t._)`${w}.schemaPath`,(0,t.str)`${g.errSchemaPath}/${p}`),g.opts.verbose&&(f.assign((0,t._)`${w}.schema`,n),f.assign((0,t._)`${w}.data`,s))})}e.extendErrors=u;function h(f,p){const n=f.const("err",p);f.if((0,t._)`${o.default.vErrors} === null`,()=>f.assign(o.default.vErrors,(0,t._)`[${n}]`),(0,t._)`${o.default.vErrors}.push(${n})`),f.code((0,t._)`${o.default.errors}++`)}function m(f,p){const{gen:n,validateName:s,schemaEnv:_}=f;_.$async?n.throw((0,t._)`new ${f.ValidationError}(${p})`):(n.assign((0,t._)`${s}.errors`,p),n.return(!1))}const y={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function k(f,p,n){const{createErrors:s}=f.it;return s===!1?(0,t._)`{}`:b(f,p,n)}function b(f,p,n={}){const{gen:s,it:_}=f,g=[l(_,n),v(f,n)];return E(f,p,g),s.object(...g)}function l({errorPath:f},{instancePath:p}){const n=p?(0,t.str)`${f}${(0,r.getErrorPath)(p,r.Type.Str)}`:f;return[o.default.instancePath,(0,t.strConcat)(o.default.instancePath,n)]}function v({keyword:f,it:{errSchemaPath:p}},{schemaPath:n,parentSchema:s}){let _=s?p:(0,t.str)`${p}/${f}`;return n&&(_=(0,t.str)`${_}${(0,r.getErrorPath)(n,r.Type.Str)}`),[y.schemaPath,_]}function E(f,{params:p,message:n},s){const{keyword:_,data:g,schemaValue:w,it:S}=f,{opts:C,propertyName:q,topSchemaRef:L,schemaPath:R}=S;s.push([y.keyword,_],[y.params,typeof p=="function"?p(f):p||(0,t._)`{}`]),C.messages&&s.push([y.message,typeof n=="function"?n(f):n]),C.verbose&&s.push([y.schema,w],[y.parentSchema,(0,t._)`${L}${R}`],[o.default.data,g]),q&&s.push([y.propertyName,q])}})(mr)),mr}var kr;function Dn(){if(kr)return Ce;kr=1,Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.boolOrEmptySchema=Ce.topBoolOrEmptySchema=void 0;const e=We(),t=Q(),r=Se(),o={message:"boolean schema is false"};function a(u){const{gen:h,schema:m,validateName:y}=u;m===!1?i(u,!1):typeof m=="object"&&m.$async===!0?h.return(r.default.data):(h.assign((0,t._)`${y}.errors`,null),h.return(!0))}Ce.topBoolOrEmptySchema=a;function c(u,h){const{gen:m,schema:y}=u;y===!1?(m.var(h,!1),i(u)):m.var(h,!0)}Ce.boolOrEmptySchema=c;function i(u,h){const{gen:m,data:y}=u,k={gen:m,keyword:"false schema",data:y,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:u};(0,e.reportError)(k,o,void 0,h)}return Ce}var le={},Ve={},Nr;function xr(){if(Nr)return Ve;Nr=1,Object.defineProperty(Ve,"__esModule",{value:!0}),Ve.getRules=Ve.isJSONType=void 0;const e=["string","number","integer","boolean","null","object","array"],t=new Set(e);function r(a){return typeof a=="string"&&t.has(a)}Ve.isJSONType=r;function o(){const a={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...a,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},a.number,a.string,a.array,a.object],post:{rules:[]},all:{},keywords:{}}}return Ve.getRules=o,Ve}var ke={},jr;function Or(){if(jr)return ke;jr=1,Object.defineProperty(ke,"__esModule",{value:!0}),ke.shouldUseRule=ke.shouldUseGroup=ke.schemaHasRulesForType=void 0;function e({schema:o,self:a},c){const i=a.RULES.types[c];return i&&i!==!0&&t(o,i)}ke.schemaHasRulesForType=e;function t(o,a){return a.rules.some(c=>r(o,c))}ke.shouldUseGroup=t;function r(o,a){var c;return o[a.keyword]!==void 0||((c=a.definition.implements)===null||c===void 0?void 0:c.some(i=>o[i]!==void 0))}return ke.shouldUseRule=r,ke}var Ir;function rt(){if(Ir)return le;Ir=1,Object.defineProperty(le,"__esModule",{value:!0}),le.reportTypeError=le.checkDataTypes=le.checkDataType=le.coerceAndCheckDataType=le.getJSONTypes=le.getSchemaTypes=le.DataType=void 0;const e=xr(),t=Or(),r=We(),o=Q(),a=ee();var c;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(c||(le.DataType=c={}));function i(n){const s=u(n.type);if(s.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!s.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&s.push("null")}return s}le.getSchemaTypes=i;function u(n){const s=Array.isArray(n)?n:n?[n]:[];if(s.every(e.isJSONType))return s;throw new Error("type must be JSONType or JSONType[]: "+s.join(","))}le.getJSONTypes=u;function h(n,s){const{gen:_,data:g,opts:w}=n,S=y(s,w.coerceTypes),C=s.length>0&&!(S.length===0&&s.length===1&&(0,t.schemaHasRulesForType)(n,s[0]));if(C){const q=v(s,g,w.strictNumbers,c.Wrong);_.if(q,()=>{S.length?k(n,s,S):f(n)})}return C}le.coerceAndCheckDataType=h;const m=new Set(["string","number","integer","boolean","null"]);function y(n,s){return s?n.filter(_=>m.has(_)||s==="array"&&_==="array"):[]}function k(n,s,_){const{gen:g,data:w,opts:S}=n,C=g.let("dataType",(0,o._)`typeof ${w}`),q=g.let("coerced",(0,o._)`undefined`);S.coerceTypes==="array"&&g.if((0,o._)`${C} == 'object' && Array.isArray(${w}) && ${w}.length == 1`,()=>g.assign(w,(0,o._)`${w}[0]`).assign(C,(0,o._)`typeof ${w}`).if(v(s,w,S.strictNumbers),()=>g.assign(q,w))),g.if((0,o._)`${q} !== undefined`);for(const R of _)(m.has(R)||R==="array"&&S.coerceTypes==="array")&&L(R);g.else(),f(n),g.endIf(),g.if((0,o._)`${q} !== undefined`,()=>{g.assign(w,q),b(n,q)});function L(R){switch(R){case"string":g.elseIf((0,o._)`${C} == "number" || ${C} == "boolean"`).assign(q,(0,o._)`"" + ${w}`).elseIf((0,o._)`${w} === null`).assign(q,(0,o._)`""`);return;case"number":g.elseIf((0,o._)`${C} == "boolean" || ${w} === null
3
+ || (${C} == "string" && ${w} && ${w} == +${w})`).assign(q,(0,o._)`+${w}`);return;case"integer":g.elseIf((0,o._)`${C} === "boolean" || ${w} === null
4
+ || (${C} === "string" && ${w} && ${w} == +${w} && !(${w} % 1))`).assign(q,(0,o._)`+${w}`);return;case"boolean":g.elseIf((0,o._)`${w} === "false" || ${w} === 0 || ${w} === null`).assign(q,!1).elseIf((0,o._)`${w} === "true" || ${w} === 1`).assign(q,!0);return;case"null":g.elseIf((0,o._)`${w} === "" || ${w} === 0 || ${w} === false`),g.assign(q,null);return;case"array":g.elseIf((0,o._)`${C} === "string" || ${C} === "number"
5
+ || ${C} === "boolean" || ${w} === null`).assign(q,(0,o._)`[${w}]`)}}}function b({gen:n,parentData:s,parentDataProperty:_},g){n.if((0,o._)`${s} !== undefined`,()=>n.assign((0,o._)`${s}[${_}]`,g))}function l(n,s,_,g=c.Correct){const w=g===c.Correct?o.operators.EQ:o.operators.NEQ;let S;switch(n){case"null":return(0,o._)`${s} ${w} null`;case"array":S=(0,o._)`Array.isArray(${s})`;break;case"object":S=(0,o._)`${s} && typeof ${s} == "object" && !Array.isArray(${s})`;break;case"integer":S=C((0,o._)`!(${s} % 1) && !isNaN(${s})`);break;case"number":S=C();break;default:return(0,o._)`typeof ${s} ${w} ${n}`}return g===c.Correct?S:(0,o.not)(S);function C(q=o.nil){return(0,o.and)((0,o._)`typeof ${s} == "number"`,q,_?(0,o._)`isFinite(${s})`:o.nil)}}le.checkDataType=l;function v(n,s,_,g){if(n.length===1)return l(n[0],s,_,g);let w;const S=(0,a.toHash)(n);if(S.array&&S.object){const C=(0,o._)`typeof ${s} != "object"`;w=S.null?C:(0,o._)`!${s} || ${C}`,delete S.null,delete S.array,delete S.object}else w=o.nil;S.number&&delete S.integer;for(const C in S)w=(0,o.and)(w,l(C,s,_,g));return w}le.checkDataTypes=v;const E={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:s})=>typeof n=="string"?(0,o._)`{type: ${n}}`:(0,o._)`{type: ${s}}`};function f(n){const s=p(n);(0,r.reportError)(s,E)}le.reportTypeError=f;function p(n){const{gen:s,data:_,schema:g}=n,w=(0,a.schemaRefOrVal)(n,g,"type");return{gen:s,keyword:"type",data:_,schema:g.type,schemaCode:w,schemaValue:w,parentSchema:g,params:{},it:n}}return le}var Ge={},Tr;function Un(){if(Tr)return Ge;Tr=1,Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.assignDefaults=void 0;const e=Q(),t=ee();function r(a,c){const{properties:i,items:u}=a.schema;if(c==="object"&&i)for(const h in i)o(a,h,i[h].default);else c==="array"&&Array.isArray(u)&&u.forEach((h,m)=>o(a,m,h.default))}Ge.assignDefaults=r;function o(a,c,i){const{gen:u,compositeRule:h,data:m,opts:y}=a;if(i===void 0)return;const k=(0,e._)`${m}${(0,e.getProperty)(c)}`;if(h){(0,t.checkStrictMode)(a,`default is ignored for: ${k}`);return}let b=(0,e._)`${k} === undefined`;y.useDefaults==="empty"&&(b=(0,e._)`${b} || ${k} === null || ${k} === ""`),u.if(b,(0,e._)`${k} = ${(0,e.stringify)(i)}`)}return Ge}var be={},oe={},Cr;function _e(){if(Cr)return oe;Cr=1,Object.defineProperty(oe,"__esModule",{value:!0}),oe.validateUnion=oe.validateArray=oe.usePattern=oe.callValidateCode=oe.schemaProperties=oe.allSchemaProperties=oe.noPropertyInData=oe.propertyInData=oe.isOwnProperty=oe.hasPropFunc=oe.reportMissingProp=oe.checkMissingProp=oe.checkReportMissingProp=void 0;const e=Q(),t=ee(),r=Se(),o=ee();function a(n,s){const{gen:_,data:g,it:w}=n;_.if(y(_,g,s,w.opts.ownProperties),()=>{n.setParams({missingProperty:(0,e._)`${s}`},!0),n.error()})}oe.checkReportMissingProp=a;function c({gen:n,data:s,it:{opts:_}},g,w){return(0,e.or)(...g.map(S=>(0,e.and)(y(n,s,S,_.ownProperties),(0,e._)`${w} = ${S}`)))}oe.checkMissingProp=c;function i(n,s){n.setParams({missingProperty:s},!0),n.error()}oe.reportMissingProp=i;function u(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,e._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=u;function h(n,s,_){return(0,e._)`${u(n)}.call(${s}, ${_})`}oe.isOwnProperty=h;function m(n,s,_,g){const w=(0,e._)`${s}${(0,e.getProperty)(_)} !== undefined`;return g?(0,e._)`${w} && ${h(n,s,_)}`:w}oe.propertyInData=m;function y(n,s,_,g){const w=(0,e._)`${s}${(0,e.getProperty)(_)} === undefined`;return g?(0,e.or)(w,(0,e.not)(h(n,s,_))):w}oe.noPropertyInData=y;function k(n){return n?Object.keys(n).filter(s=>s!=="__proto__"):[]}oe.allSchemaProperties=k;function b(n,s){return k(s).filter(_=>!(0,t.alwaysValidSchema)(n,s[_]))}oe.schemaProperties=b;function l({schemaCode:n,data:s,it:{gen:_,topSchemaRef:g,schemaPath:w,errorPath:S},it:C},q,L,R){const U=R?(0,e._)`${n}, ${s}, ${g}${w}`:s,F=[[r.default.instancePath,(0,e.strConcat)(r.default.instancePath,S)],[r.default.parentData,C.parentData],[r.default.parentDataProperty,C.parentDataProperty],[r.default.rootData,r.default.rootData]];C.opts.dynamicRef&&F.push([r.default.dynamicAnchors,r.default.dynamicAnchors]);const B=(0,e._)`${U}, ${_.object(...F)}`;return L!==e.nil?(0,e._)`${q}.call(${L}, ${B})`:(0,e._)`${q}(${B})`}oe.callValidateCode=l;const v=(0,e._)`new RegExp`;function E({gen:n,it:{opts:s}},_){const g=s.unicodeRegExp?"u":"",{regExp:w}=s.code,S=w(_,g);return n.scopeValue("pattern",{key:S.toString(),ref:S,code:(0,e._)`${w.code==="new RegExp"?v:(0,o.useFunc)(n,w)}(${_}, ${g})`})}oe.usePattern=E;function f(n){const{gen:s,data:_,keyword:g,it:w}=n,S=s.name("valid");if(w.allErrors){const q=s.let("valid",!0);return C(()=>s.assign(q,!1)),q}return s.var(S,!0),C(()=>s.break()),S;function C(q){const L=s.const("len",(0,e._)`${_}.length`);s.forRange("i",0,L,R=>{n.subschema({keyword:g,dataProp:R,dataPropType:t.Type.Num},S),s.if((0,e.not)(S),q)})}}oe.validateArray=f;function p(n){const{gen:s,schema:_,keyword:g,it:w}=n;if(!Array.isArray(_))throw new Error("ajv implementation error");if(_.some(q=>(0,t.alwaysValidSchema)(w,q))&&!w.opts.unevaluated)return;const S=s.let("valid",!1),C=s.name("_valid");s.block(()=>_.forEach((q,L)=>{const R=n.subschema({keyword:g,schemaProp:L,compositeRule:!0},C);s.assign(S,(0,e._)`${S} || ${C}`),n.mergeValidEvaluated(R,C)||s.if((0,e.not)(S))})),n.result(S,()=>n.reset(),()=>n.error(!0))}return oe.validateUnion=p,oe}var Vr;function Fn(){if(Vr)return be;Vr=1,Object.defineProperty(be,"__esModule",{value:!0}),be.validateKeywordUsage=be.validSchemaType=be.funcKeywordCode=be.macroKeywordCode=void 0;const e=Q(),t=Se(),r=_e(),o=We();function a(b,l){const{gen:v,keyword:E,schema:f,parentSchema:p,it:n}=b,s=l.macro.call(n.self,f,p,n),_=m(v,E,s);n.opts.validateSchema!==!1&&n.self.validateSchema(s,!0);const g=v.name("valid");b.subschema({schema:s,schemaPath:e.nil,errSchemaPath:`${n.errSchemaPath}/${E}`,topSchemaRef:_,compositeRule:!0},g),b.pass(g,()=>b.error(!0))}be.macroKeywordCode=a;function c(b,l){var v;const{gen:E,keyword:f,schema:p,parentSchema:n,$data:s,it:_}=b;h(_,l);const g=!s&&l.compile?l.compile.call(_.self,p,n,_):l.validate,w=m(E,f,g),S=E.let("valid");b.block$data(S,C),b.ok((v=l.valid)!==null&&v!==void 0?v:S);function C(){if(l.errors===!1)R(),l.modifying&&i(b),U(()=>b.error());else{const F=l.async?q():L();l.modifying&&i(b),U(()=>u(b,F))}}function q(){const F=E.let("ruleErrs",null);return E.try(()=>R((0,e._)`await `),B=>E.assign(S,!1).if((0,e._)`${B} instanceof ${_.ValidationError}`,()=>E.assign(F,(0,e._)`${B}.errors`),()=>E.throw(B))),F}function L(){const F=(0,e._)`${w}.errors`;return E.assign(F,null),R(e.nil),F}function R(F=l.async?(0,e._)`await `:e.nil){const B=_.opts.passContext?t.default.this:t.default.self,ae=!("compile"in l&&!s||l.schema===!1);E.assign(S,(0,e._)`${F}${(0,r.callValidateCode)(b,w,B,ae)}`,l.modifying)}function U(F){var B;E.if((0,e.not)((B=l.valid)!==null&&B!==void 0?B:S),F)}}be.funcKeywordCode=c;function i(b){const{gen:l,data:v,it:E}=b;l.if(E.parentData,()=>l.assign(v,(0,e._)`${E.parentData}[${E.parentDataProperty}]`))}function u(b,l){const{gen:v}=b;v.if((0,e._)`Array.isArray(${l})`,()=>{v.assign(t.default.vErrors,(0,e._)`${t.default.vErrors} === null ? ${l} : ${t.default.vErrors}.concat(${l})`).assign(t.default.errors,(0,e._)`${t.default.vErrors}.length`),(0,o.extendErrors)(b)},()=>b.error())}function h({schemaEnv:b},l){if(l.async&&!b.$async)throw new Error("async keyword in sync schema")}function m(b,l,v){if(v===void 0)throw new Error(`keyword "${l}" failed to compile`);return b.scopeValue("keyword",typeof v=="function"?{ref:v}:{ref:v,code:(0,e.stringify)(v)})}function y(b,l,v=!1){return!l.length||l.some(E=>E==="array"?Array.isArray(b):E==="object"?b&&typeof b=="object"&&!Array.isArray(b):typeof b==E||v&&typeof b>"u")}be.validSchemaType=y;function k({schema:b,opts:l,self:v,errSchemaPath:E},f,p){if(Array.isArray(f.keyword)?!f.keyword.includes(p):f.keyword!==p)throw new Error("ajv implementation error");const n=f.dependencies;if(n!=null&&n.some(s=>!Object.prototype.hasOwnProperty.call(b,s)))throw new Error(`parent schema must have dependencies of ${p}: ${n.join(",")}`);if(f.validateSchema&&!f.validateSchema(b[p])){const s=`keyword "${p}" value is invalid at path "${E}": `+v.errorsText(f.validateSchema.errors);if(l.validateSchema==="log")v.logger.error(s);else throw new Error(s)}}return be.validateKeywordUsage=k,be}var Ne={},Rr;function Kn(){if(Rr)return Ne;Rr=1,Object.defineProperty(Ne,"__esModule",{value:!0}),Ne.extendSubschemaMode=Ne.extendSubschemaData=Ne.getSubschema=void 0;const e=Q(),t=ee();function r(c,{keyword:i,schemaProp:u,schema:h,schemaPath:m,errSchemaPath:y,topSchemaRef:k}){if(i!==void 0&&h!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(i!==void 0){const b=c.schema[i];return u===void 0?{schema:b,schemaPath:(0,e._)`${c.schemaPath}${(0,e.getProperty)(i)}`,errSchemaPath:`${c.errSchemaPath}/${i}`}:{schema:b[u],schemaPath:(0,e._)`${c.schemaPath}${(0,e.getProperty)(i)}${(0,e.getProperty)(u)}`,errSchemaPath:`${c.errSchemaPath}/${i}/${(0,t.escapeFragment)(u)}`}}if(h!==void 0){if(m===void 0||y===void 0||k===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:h,schemaPath:m,topSchemaRef:k,errSchemaPath:y}}throw new Error('either "keyword" or "schema" must be passed')}Ne.getSubschema=r;function o(c,i,{dataProp:u,dataPropType:h,data:m,dataTypes:y,propertyName:k}){if(m!==void 0&&u!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:b}=i;if(u!==void 0){const{errorPath:v,dataPathArr:E,opts:f}=i,p=b.let("data",(0,e._)`${i.data}${(0,e.getProperty)(u)}`,!0);l(p),c.errorPath=(0,e.str)`${v}${(0,t.getErrorPath)(u,h,f.jsPropertySyntax)}`,c.parentDataProperty=(0,e._)`${u}`,c.dataPathArr=[...E,c.parentDataProperty]}if(m!==void 0){const v=m instanceof e.Name?m:b.let("data",m,!0);l(v),k!==void 0&&(c.propertyName=k)}y&&(c.dataTypes=y);function l(v){c.data=v,c.dataLevel=i.dataLevel+1,c.dataTypes=[],i.definedProperties=new Set,c.parentData=i.data,c.dataNames=[...i.dataNames,v]}}Ne.extendSubschemaData=o;function a(c,{jtdDiscriminator:i,jtdMetadata:u,compositeRule:h,createErrors:m,allErrors:y}){h!==void 0&&(c.compositeRule=h),m!==void 0&&(c.createErrors=m),y!==void 0&&(c.allErrors=y),c.jtdDiscriminator=i,c.jtdMetadata=u}return Ne.extendSubschemaMode=a,Ne}var fe={},Mr,Ar;function qr(){return Ar||(Ar=1,Mr=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var o,a,c;if(Array.isArray(t)){if(o=t.length,o!=r.length)return!1;for(a=o;a--!==0;)if(!e(t[a],r[a]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(c=Object.keys(t),o=c.length,o!==Object.keys(r).length)return!1;for(a=o;a--!==0;)if(!Object.prototype.hasOwnProperty.call(r,c[a]))return!1;for(a=o;a--!==0;){var i=c[a];if(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}),Mr}var Jt={exports:{}},zr;function Bn(){if(zr)return Jt.exports;zr=1;var e=Jt.exports=function(o,a,c){typeof a=="function"&&(c=a,a={}),c=a.cb||c;var i=typeof c=="function"?c:c.pre||function(){},u=c.post||function(){};t(a,i,u,o,"",o)};e.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},e.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},e.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},e.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function t(o,a,c,i,u,h,m,y,k,b){if(i&&typeof i=="object"&&!Array.isArray(i)){a(i,u,h,m,y,k,b);for(var l in i){var v=i[l];if(Array.isArray(v)){if(l in e.arrayKeywords)for(var E=0;E<v.length;E++)t(o,a,c,v[E],u+"/"+l+"/"+E,h,u,l,i,E)}else if(l in e.propsKeywords){if(v&&typeof v=="object")for(var f in v)t(o,a,c,v[f],u+"/"+l+"/"+r(f),h,u,l,i,f)}else(l in e.keywords||o.allKeys&&!(l in e.skipKeywords))&&t(o,a,c,v,u+"/"+l,h,u,l,i)}c(i,u,h,m,y,k,b)}}function r(o){return o.replace(/~/g,"~0").replace(/\//g,"~1")}return Jt.exports}var Lr;function ot(){if(Lr)return fe;Lr=1,Object.defineProperty(fe,"__esModule",{value:!0}),fe.getSchemaRefs=fe.resolveUrl=fe.normalizeId=fe._getFullPath=fe.getFullPath=fe.inlineRef=void 0;const e=ee(),t=qr(),r=Bn(),o=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function a(E,f=!0){return typeof E=="boolean"?!0:f===!0?!i(E):f?u(E)<=f:!1}fe.inlineRef=a;const c=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function i(E){for(const f in E){if(c.has(f))return!0;const p=E[f];if(Array.isArray(p)&&p.some(i)||typeof p=="object"&&i(p))return!0}return!1}function u(E){let f=0;for(const p in E)if(p==="$ref"||(f++,!o.has(p)&&(typeof E[p]=="object"&&(0,e.eachItem)(E[p],n=>f+=u(n)),f===1/0)))return 1/0;return f}function h(E,f="",p){p!==!1&&(f=k(f));const n=E.parse(f);return m(E,n)}fe.getFullPath=h;function m(E,f){return E.serialize(f).split("#")[0]+"#"}fe._getFullPath=m;const y=/#\/?$/;function k(E){return E?E.replace(y,""):""}fe.normalizeId=k;function b(E,f,p){return p=k(p),E.resolve(f,p)}fe.resolveUrl=b;const l=/^[a-z_][-a-z0-9._]*$/i;function v(E,f){if(typeof E=="boolean")return{};const{schemaId:p,uriResolver:n}=this.opts,s=k(E[p]||f),_={"":s},g=h(n,s,!1),w={},S=new Set;return r(E,{allKeys:!0},(L,R,U,F)=>{if(F===void 0)return;const B=g+R;let ae=_[F];typeof L[p]=="string"&&(ae=se.call(this,L[p])),ue.call(this,L.$anchor),ue.call(this,L.$dynamicAnchor),_[R]=ae;function se(re){const de=this.opts.uriResolver.resolve;if(re=k(ae?de(ae,re):re),S.has(re))throw q(re);S.add(re);let M=this.refs[re];return typeof M=="string"&&(M=this.refs[M]),typeof M=="object"?C(L,M.schema,re):re!==k(B)&&(re[0]==="#"?(C(L,w[re],re),w[re]=L):this.refs[re]=B),re}function ue(re){if(typeof re=="string"){if(!l.test(re))throw new Error(`invalid anchor "${re}"`);se.call(this,`#${re}`)}}}),w;function C(L,R,U){if(R!==void 0&&!t(L,R))throw q(U)}function q(L){return new Error(`reference "${L}" resolves to more than one schema`)}}return fe.getSchemaRefs=v,fe}var Dr;function He(){if(Dr)return Ee;Dr=1,Object.defineProperty(Ee,"__esModule",{value:!0}),Ee.getData=Ee.KeywordCxt=Ee.validateFunctionCode=void 0;const e=Dn(),t=rt(),r=Or(),o=rt(),a=Un(),c=Fn(),i=Kn(),u=Q(),h=Se(),m=ot(),y=ee(),k=We();function b(x){if(g(x)&&(S(x),_(x))){f(x);return}l(x,()=>(0,e.topBoolOrEmptySchema)(x))}Ee.validateFunctionCode=b;function l({gen:x,validateName:j,schema:V,schemaEnv:z,opts:W},X){W.code.es5?x.func(j,(0,u._)`${h.default.data}, ${h.default.valCxt}`,z.$async,()=>{x.code((0,u._)`"use strict"; ${n(V,W)}`),E(x,W),x.code(X)}):x.func(j,(0,u._)`${h.default.data}, ${v(W)}`,z.$async,()=>x.code(n(V,W)).code(X))}function v(x){return(0,u._)`{${h.default.instancePath}="", ${h.default.parentData}, ${h.default.parentDataProperty}, ${h.default.rootData}=${h.default.data}${x.dynamicRef?(0,u._)`, ${h.default.dynamicAnchors}={}`:u.nil}}={}`}function E(x,j){x.if(h.default.valCxt,()=>{x.var(h.default.instancePath,(0,u._)`${h.default.valCxt}.${h.default.instancePath}`),x.var(h.default.parentData,(0,u._)`${h.default.valCxt}.${h.default.parentData}`),x.var(h.default.parentDataProperty,(0,u._)`${h.default.valCxt}.${h.default.parentDataProperty}`),x.var(h.default.rootData,(0,u._)`${h.default.valCxt}.${h.default.rootData}`),j.dynamicRef&&x.var(h.default.dynamicAnchors,(0,u._)`${h.default.valCxt}.${h.default.dynamicAnchors}`)},()=>{x.var(h.default.instancePath,(0,u._)`""`),x.var(h.default.parentData,(0,u._)`undefined`),x.var(h.default.parentDataProperty,(0,u._)`undefined`),x.var(h.default.rootData,h.default.data),j.dynamicRef&&x.var(h.default.dynamicAnchors,(0,u._)`{}`)})}function f(x){const{schema:j,opts:V,gen:z}=x;l(x,()=>{V.$comment&&j.$comment&&F(x),L(x),z.let(h.default.vErrors,null),z.let(h.default.errors,0),V.unevaluated&&p(x),C(x),B(x)})}function p(x){const{gen:j,validateName:V}=x;x.evaluated=j.const("evaluated",(0,u._)`${V}.evaluated`),j.if((0,u._)`${x.evaluated}.dynamicProps`,()=>j.assign((0,u._)`${x.evaluated}.props`,(0,u._)`undefined`)),j.if((0,u._)`${x.evaluated}.dynamicItems`,()=>j.assign((0,u._)`${x.evaluated}.items`,(0,u._)`undefined`))}function n(x,j){const V=typeof x=="object"&&x[j.schemaId];return V&&(j.code.source||j.code.process)?(0,u._)`/*# sourceURL=${V} */`:u.nil}function s(x,j){if(g(x)&&(S(x),_(x))){w(x,j);return}(0,e.boolOrEmptySchema)(x,j)}function _({schema:x,self:j}){if(typeof x=="boolean")return!x;for(const V in x)if(j.RULES.all[V])return!0;return!1}function g(x){return typeof x.schema!="boolean"}function w(x,j){const{schema:V,gen:z,opts:W}=x;W.$comment&&V.$comment&&F(x),R(x),U(x);const X=z.const("_errs",h.default.errors);C(x,X),z.var(j,(0,u._)`${X} === ${h.default.errors}`)}function S(x){(0,y.checkUnknownRules)(x),q(x)}function C(x,j){if(x.opts.jtd)return se(x,[],!1,j);const V=(0,t.getSchemaTypes)(x.schema),z=(0,t.coerceAndCheckDataType)(x,V);se(x,V,!z,j)}function q(x){const{schema:j,errSchemaPath:V,opts:z,self:W}=x;j.$ref&&z.ignoreKeywordsWithRef&&(0,y.schemaHasRulesButRef)(j,W.RULES)&&W.logger.warn(`$ref: keywords ignored in schema at path "${V}"`)}function L(x){const{schema:j,opts:V}=x;j.default!==void 0&&V.useDefaults&&V.strictSchema&&(0,y.checkStrictMode)(x,"default is ignored in the schema root")}function R(x){const j=x.schema[x.opts.schemaId];j&&(x.baseId=(0,m.resolveUrl)(x.opts.uriResolver,x.baseId,j))}function U(x){if(x.schema.$async&&!x.schemaEnv.$async)throw new Error("async schema in sync schema")}function F({gen:x,schemaEnv:j,schema:V,errSchemaPath:z,opts:W}){const X=V.$comment;if(W.$comment===!0)x.code((0,u._)`${h.default.self}.logger.log(${X})`);else if(typeof W.$comment=="function"){const ie=(0,u.str)`${z}/$comment`,ge=x.scopeValue("root",{ref:j.root});x.code((0,u._)`${h.default.self}.opts.$comment(${X}, ${ie}, ${ge}.schema)`)}}function B(x){const{gen:j,schemaEnv:V,validateName:z,ValidationError:W,opts:X}=x;V.$async?j.if((0,u._)`${h.default.errors} === 0`,()=>j.return(h.default.data),()=>j.throw((0,u._)`new ${W}(${h.default.vErrors})`)):(j.assign((0,u._)`${z}.errors`,h.default.vErrors),X.unevaluated&&ae(x),j.return((0,u._)`${h.default.errors} === 0`))}function ae({gen:x,evaluated:j,props:V,items:z}){V instanceof u.Name&&x.assign((0,u._)`${j}.props`,V),z instanceof u.Name&&x.assign((0,u._)`${j}.items`,z)}function se(x,j,V,z){const{gen:W,schema:X,data:ie,allErrors:ge,opts:pe,self:he}=x,{RULES:ce}=he;if(X.$ref&&(pe.ignoreKeywordsWithRef||!(0,y.schemaHasRulesButRef)(X,ce))){W.block(()=>D(x,"$ref",ce.all.$ref.definition));return}pe.jtd||re(x,j),W.block(()=>{for(const ve of ce.rules)Me(ve);Me(ce.post)});function Me(ve){(0,r.shouldUseGroup)(X,ve)&&(ve.type?(W.if((0,o.checkDataType)(ve.type,ie,pe.strictNumbers)),ue(x,ve),j.length===1&&j[0]===ve.type&&V&&(W.else(),(0,o.reportTypeError)(x)),W.endIf()):ue(x,ve),ge||W.if((0,u._)`${h.default.errors} === ${z||0}`))}}function ue(x,j){const{gen:V,schema:z,opts:{useDefaults:W}}=x;W&&(0,a.assignDefaults)(x,j.type),V.block(()=>{for(const X of j.rules)(0,r.shouldUseRule)(z,X)&&D(x,X.keyword,X.definition,j.type)})}function re(x,j){x.schemaEnv.meta||!x.opts.strictTypes||(de(x,j),x.opts.allowUnionTypes||M(x,j),O(x,x.dataTypes))}function de(x,j){if(j.length){if(!x.dataTypes.length){x.dataTypes=j;return}j.forEach(V=>{N(x.dataTypes,V)||P(x,`type "${V}" not allowed by context "${x.dataTypes.join(",")}"`)}),d(x,j)}}function M(x,j){j.length>1&&!(j.length===2&&j.includes("null"))&&P(x,"use allowUnionTypes to allow union type keyword")}function O(x,j){const V=x.self.RULES.all;for(const z in V){const W=V[z];if(typeof W=="object"&&(0,r.shouldUseRule)(x.schema,W)){const{type:X}=W.definition;X.length&&!X.some(ie=>I(j,ie))&&P(x,`missing type "${X.join(",")}" for keyword "${z}"`)}}}function I(x,j){return x.includes(j)||j==="number"&&x.includes("integer")}function N(x,j){return x.includes(j)||j==="integer"&&x.includes("number")}function d(x,j){const V=[];for(const z of x.dataTypes)N(j,z)?V.push(z):j.includes("integer")&&z==="number"&&V.push("integer");x.dataTypes=V}function P(x,j){const V=x.schemaEnv.baseId+x.errSchemaPath;j+=` at "${V}" (strictTypes)`,(0,y.checkStrictMode)(x,j,x.opts.strictTypes)}class T{constructor(j,V,z){if((0,c.validateKeywordUsage)(j,V,z),this.gen=j.gen,this.allErrors=j.allErrors,this.keyword=z,this.data=j.data,this.schema=j.schema[z],this.$data=V.$data&&j.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,y.schemaRefOrVal)(j,this.schema,z,this.$data),this.schemaType=V.schemaType,this.parentSchema=j.schema,this.params={},this.it=j,this.def=V,this.$data)this.schemaCode=j.gen.const("vSchema",H(this.$data,j));else if(this.schemaCode=this.schemaValue,!(0,c.validSchemaType)(this.schema,V.schemaType,V.allowUndefined))throw new Error(`${z} value must be ${JSON.stringify(V.schemaType)}`);("code"in V?V.trackErrors:V.errors!==!1)&&(this.errsCount=j.gen.const("_errs",h.default.errors))}result(j,V,z){this.failResult((0,u.not)(j),V,z)}failResult(j,V,z){this.gen.if(j),z?z():this.error(),V?(this.gen.else(),V(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(j,V){this.failResult((0,u.not)(j),void 0,V)}fail(j){if(j===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(j),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(j){if(!this.$data)return this.fail(j);const{schemaCode:V}=this;this.fail((0,u._)`${V} !== undefined && (${(0,u.or)(this.invalid$data(),j)})`)}error(j,V,z){if(V){this.setParams(V),this._error(j,z),this.setParams({});return}this._error(j,z)}_error(j,V){(j?k.reportExtraError:k.reportError)(this,this.def.error,V)}$dataError(){(0,k.reportError)(this,this.def.$dataError||k.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,k.resetErrorsCount)(this.gen,this.errsCount)}ok(j){this.allErrors||this.gen.if(j)}setParams(j,V){V?Object.assign(this.params,j):this.params=j}block$data(j,V,z=u.nil){this.gen.block(()=>{this.check$data(j,z),V()})}check$data(j=u.nil,V=u.nil){if(!this.$data)return;const{gen:z,schemaCode:W,schemaType:X,def:ie}=this;z.if((0,u.or)((0,u._)`${W} === undefined`,V)),j!==u.nil&&z.assign(j,!0),(X.length||ie.validateSchema)&&(z.elseIf(this.invalid$data()),this.$dataError(),j!==u.nil&&z.assign(j,!1)),z.else()}invalid$data(){const{gen:j,schemaCode:V,schemaType:z,def:W,it:X}=this;return(0,u.or)(ie(),ge());function ie(){if(z.length){if(!(V instanceof u.Name))throw new Error("ajv implementation error");const pe=Array.isArray(z)?z:[z];return(0,u._)`${(0,o.checkDataTypes)(pe,V,X.opts.strictNumbers,o.DataType.Wrong)}`}return u.nil}function ge(){if(W.validateSchema){const pe=j.scopeValue("validate$data",{ref:W.validateSchema});return(0,u._)`!${pe}(${V})`}return u.nil}}subschema(j,V){const z=(0,i.getSubschema)(this.it,j);(0,i.extendSubschemaData)(z,this.it,j),(0,i.extendSubschemaMode)(z,j);const W={...this.it,...z,items:void 0,props:void 0};return s(W,V),W}mergeEvaluated(j,V){const{it:z,gen:W}=this;z.opts.unevaluated&&(z.props!==!0&&j.props!==void 0&&(z.props=y.mergeEvaluated.props(W,j.props,z.props,V)),z.items!==!0&&j.items!==void 0&&(z.items=y.mergeEvaluated.items(W,j.items,z.items,V)))}mergeValidEvaluated(j,V){const{it:z,gen:W}=this;if(z.opts.unevaluated&&(z.props!==!0||z.items!==!0))return W.if(V,()=>this.mergeEvaluated(j,u.Name)),!0}}Ee.KeywordCxt=T;function D(x,j,V,z){const W=new T(x,V,j);"code"in V?V.code(W,z):W.$data&&V.validate?(0,c.funcKeywordCode)(W,V):"macro"in V?(0,c.macroKeywordCode)(W,V):(V.compile||V.validate)&&(0,c.funcKeywordCode)(W,V)}const A=/^\/(?:[^~]|~0|~1)*$/,K=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function H(x,{dataLevel:j,dataNames:V,dataPathArr:z}){let W,X;if(x==="")return h.default.rootData;if(x[0]==="/"){if(!A.test(x))throw new Error(`Invalid JSON-pointer: ${x}`);W=x,X=h.default.rootData}else{const he=K.exec(x);if(!he)throw new Error(`Invalid JSON-pointer: ${x}`);const ce=+he[1];if(W=he[2],W==="#"){if(ce>=j)throw new Error(pe("property/index",ce));return z[j-ce]}if(ce>j)throw new Error(pe("data",ce));if(X=V[j-ce],!W)return X}let ie=X;const ge=W.split("/");for(const he of ge)he&&(X=(0,u._)`${X}${(0,u.getProperty)((0,y.unescapeJsonPointer)(he))}`,ie=(0,u._)`${ie} && ${X}`);return ie;function pe(he,ce){return`Cannot access ${he} ${ce} levels up, current level is ${j}`}}return Ee.getData=H,Ee}var nt={},Ur;function Zt(){if(Ur)return nt;Ur=1,Object.defineProperty(nt,"__esModule",{value:!0});class e extends Error{constructor(r){super("validation failed"),this.errors=r,this.ajv=this.validation=!0}}return nt.default=e,nt}var at={},Fr;function st(){if(Fr)return at;Fr=1,Object.defineProperty(at,"__esModule",{value:!0});const e=ot();class t extends Error{constructor(o,a,c,i){super(i||`can't resolve reference ${c} from id ${a}`),this.missingRef=(0,e.resolveUrl)(o,a,c),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(o,this.missingRef))}}return at.default=t,at}var ye={},Kr;function Qt(){if(Kr)return ye;Kr=1,Object.defineProperty(ye,"__esModule",{value:!0}),ye.resolveSchema=ye.getCompilingSchema=ye.resolveRef=ye.compileSchema=ye.SchemaEnv=void 0;const e=Q(),t=Zt(),r=Se(),o=ot(),a=ee(),c=He();class i{constructor(p){var n;this.refs={},this.dynamicAnchors={};let s;typeof p.schema=="object"&&(s=p.schema),this.schema=p.schema,this.schemaId=p.schemaId,this.root=p.root||this,this.baseId=(n=p.baseId)!==null&&n!==void 0?n:(0,o.normalizeId)(s?.[p.schemaId||"$id"]),this.schemaPath=p.schemaPath,this.localRefs=p.localRefs,this.meta=p.meta,this.$async=s?.$async,this.refs={}}}ye.SchemaEnv=i;function u(f){const p=y.call(this,f);if(p)return p;const n=(0,o.getFullPath)(this.opts.uriResolver,f.root.baseId),{es5:s,lines:_}=this.opts.code,{ownProperties:g}=this.opts,w=new e.CodeGen(this.scope,{es5:s,lines:_,ownProperties:g});let S;f.$async&&(S=w.scopeValue("Error",{ref:t.default,code:(0,e._)`require("ajv/dist/runtime/validation_error").default`}));const C=w.scopeName("validate");f.validateName=C;const q={gen:w,allErrors:this.opts.allErrors,data:r.default.data,parentData:r.default.parentData,parentDataProperty:r.default.parentDataProperty,dataNames:[r.default.data],dataPathArr:[e.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:w.scopeValue("schema",this.opts.code.source===!0?{ref:f.schema,code:(0,e.stringify)(f.schema)}:{ref:f.schema}),validateName:C,ValidationError:S,schema:f.schema,schemaEnv:f,rootId:n,baseId:f.baseId||n,schemaPath:e.nil,errSchemaPath:f.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,e._)`""`,opts:this.opts,self:this};let L;try{this._compilations.add(f),(0,c.validateFunctionCode)(q),w.optimize(this.opts.code.optimize);const R=w.toString();L=`${w.scopeRefs(r.default.scope)}return ${R}`,this.opts.code.process&&(L=this.opts.code.process(L,f));const U=new Function(`${r.default.self}`,`${r.default.scope}`,L)(this,this.scope.get());if(this.scope.value(C,{ref:U}),U.errors=null,U.schema=f.schema,U.schemaEnv=f,f.$async&&(U.$async=!0),this.opts.code.source===!0&&(U.source={validateName:C,validateCode:R,scopeValues:w._values}),this.opts.unevaluated){const{props:F,items:B}=q;U.evaluated={props:F instanceof e.Name?void 0:F,items:B instanceof e.Name?void 0:B,dynamicProps:F instanceof e.Name,dynamicItems:B instanceof e.Name},U.source&&(U.source.evaluated=(0,e.stringify)(U.evaluated))}return f.validate=U,f}catch(R){throw delete f.validate,delete f.validateName,L&&this.logger.error("Error compiling schema, function code:",L),R}finally{this._compilations.delete(f)}}ye.compileSchema=u;function h(f,p,n){var s;n=(0,o.resolveUrl)(this.opts.uriResolver,p,n);const _=f.refs[n];if(_)return _;let g=b.call(this,f,n);if(g===void 0){const w=(s=f.localRefs)===null||s===void 0?void 0:s[n],{schemaId:S}=this.opts;w&&(g=new i({schema:w,schemaId:S,root:f,baseId:p}))}if(g!==void 0)return f.refs[n]=m.call(this,g)}ye.resolveRef=h;function m(f){return(0,o.inlineRef)(f.schema,this.opts.inlineRefs)?f.schema:f.validate?f:u.call(this,f)}function y(f){for(const p of this._compilations)if(k(p,f))return p}ye.getCompilingSchema=y;function k(f,p){return f.schema===p.schema&&f.root===p.root&&f.baseId===p.baseId}function b(f,p){let n;for(;typeof(n=this.refs[p])=="string";)p=n;return n||this.schemas[p]||l.call(this,f,p)}function l(f,p){const n=this.opts.uriResolver.parse(p),s=(0,o._getFullPath)(this.opts.uriResolver,n);let _=(0,o.getFullPath)(this.opts.uriResolver,f.baseId,void 0);if(Object.keys(f.schema).length>0&&s===_)return E.call(this,n,f);const g=(0,o.normalizeId)(s),w=this.refs[g]||this.schemas[g];if(typeof w=="string"){const S=l.call(this,f,w);return typeof S?.schema!="object"?void 0:E.call(this,n,S)}if(typeof w?.schema=="object"){if(w.validate||u.call(this,w),g===(0,o.normalizeId)(p)){const{schema:S}=w,{schemaId:C}=this.opts,q=S[C];return q&&(_=(0,o.resolveUrl)(this.opts.uriResolver,_,q)),new i({schema:S,schemaId:C,root:f,baseId:_})}return E.call(this,n,w)}}ye.resolveSchema=l;const v=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function E(f,{baseId:p,schema:n,root:s}){var _;if(((_=f.fragment)===null||_===void 0?void 0:_[0])!=="/")return;for(const S of f.fragment.slice(1).split("/")){if(typeof n=="boolean")return;const C=n[(0,a.unescapeFragment)(S)];if(C===void 0)return;n=C;const q=typeof n=="object"&&n[this.opts.schemaId];!v.has(S)&&q&&(p=(0,o.resolveUrl)(this.opts.uriResolver,p,q))}let g;if(typeof n!="boolean"&&n.$ref&&!(0,a.schemaHasRulesButRef)(n,this.RULES)){const S=(0,o.resolveUrl)(this.opts.uriResolver,p,n.$ref);g=l.call(this,s,S)}const{schemaId:w}=this.opts;if(g=g||new i({schema:n,schemaId:w,root:s,baseId:p}),g.schema!==g.root.schema)return g}return ye}const Wn="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",Gn="Meta-schema for $data reference (JSON AnySchema extension proposal)",Hn="object",Jn=["$data"],Zn={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},Qn=!1,Yn={$id:Wn,description:Gn,type:Hn,required:Jn,properties:Zn,additionalProperties:Qn};var it={},Je={exports:{}},Yt,Br;function Wr(){if(Br)return Yt;Br=1;const e=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),t=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function r(b){let l="",v=0,E=0;for(E=0;E<b.length;E++)if(v=b[E].charCodeAt(0),v!==48){if(!(v>=48&&v<=57||v>=65&&v<=70||v>=97&&v<=102))return"";l+=b[E];break}for(E+=1;E<b.length;E++){if(v=b[E].charCodeAt(0),!(v>=48&&v<=57||v>=65&&v<=70||v>=97&&v<=102))return"";l+=b[E]}return l}const o=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function a(b){return b.length=0,!0}function c(b,l,v){if(b.length){const E=r(b);if(E!=="")l.push(E);else return v.error=!0,!1;b.length=0}return!0}function i(b){let l=0;const v={error:!1,address:"",zone:""},E=[],f=[];let p=!1,n=!1,s=c;for(let _=0;_<b.length;_++){const g=b[_];if(!(g==="["||g==="]"))if(g===":"){if(p===!0&&(n=!0),!s(f,E,v))break;if(++l>7){v.error=!0;break}_>0&&b[_-1]===":"&&(p=!0),E.push(":");continue}else if(g==="%"){if(!s(f,E,v))break;s=a}else{f.push(g);continue}}return f.length&&(s===a?v.zone=f.join(""):n?E.push(f.join("")):E.push(r(f))),v.address=E.join(""),v}function u(b){if(h(b,":")<2)return{host:b,isIPV6:!1};const l=i(b);if(l.error)return{host:b,isIPV6:!1};{let v=l.address,E=l.address;return l.zone&&(v+="%"+l.zone,E+="%25"+l.zone),{host:v,isIPV6:!0,escapedHost:E}}}function h(b,l){let v=0;for(let E=0;E<b.length;E++)b[E]===l&&v++;return v}function m(b){let l=b;const v=[];let E=-1,f=0;for(;f=l.length;){if(f===1){if(l===".")break;if(l==="/"){v.push("/");break}else{v.push(l);break}}else if(f===2){if(l[0]==="."){if(l[1]===".")break;if(l[1]==="/"){l=l.slice(2);continue}}else if(l[0]==="/"&&(l[1]==="."||l[1]==="/")){v.push("/");break}}else if(f===3&&l==="/.."){v.length!==0&&v.pop(),v.push("/");break}if(l[0]==="."){if(l[1]==="."){if(l[2]==="/"){l=l.slice(3);continue}}else if(l[1]==="/"){l=l.slice(2);continue}}else if(l[0]==="/"&&l[1]==="."){if(l[2]==="/"){l=l.slice(2);continue}else if(l[2]==="."&&l[3]==="/"){l=l.slice(3),v.length!==0&&v.pop();continue}}if((E=l.indexOf("/",1))===-1){v.push(l);break}else v.push(l.slice(0,E)),l=l.slice(E)}return v.join("")}function y(b,l){const v=l!==!0?escape:unescape;return b.scheme!==void 0&&(b.scheme=v(b.scheme)),b.userinfo!==void 0&&(b.userinfo=v(b.userinfo)),b.host!==void 0&&(b.host=v(b.host)),b.path!==void 0&&(b.path=v(b.path)),b.query!==void 0&&(b.query=v(b.query)),b.fragment!==void 0&&(b.fragment=v(b.fragment)),b}function k(b){const l=[];if(b.userinfo!==void 0&&(l.push(b.userinfo),l.push("@")),b.host!==void 0){let v=unescape(b.host);if(!t(v)){const E=u(v);E.isIPV6===!0?v=`[${E.escapedHost}]`:v=b.host}l.push(v)}return(typeof b.port=="number"||typeof b.port=="string")&&(l.push(":"),l.push(String(b.port))),l.length?l.join(""):void 0}return Yt={nonSimpleDomain:o,recomposeAuthority:k,normalizeComponentEncoding:y,removeDotSegments:m,isIPv4:t,isUUID:e,normalizeIPv6:u,stringArrayToHexStripped:r},Yt}var Xt,Gr;function Xn(){if(Gr)return Xt;Gr=1;const{isUUID:e}=Wr(),t=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,r=["http","https","ws","wss","urn","urn:uuid"];function o(s){return r.indexOf(s)!==-1}function a(s){return s.secure===!0?!0:s.secure===!1?!1:s.scheme?s.scheme.length===3&&(s.scheme[0]==="w"||s.scheme[0]==="W")&&(s.scheme[1]==="s"||s.scheme[1]==="S")&&(s.scheme[2]==="s"||s.scheme[2]==="S"):!1}function c(s){return s.host||(s.error=s.error||"HTTP URIs must have a host."),s}function i(s){const _=String(s.scheme).toLowerCase()==="https";return(s.port===(_?443:80)||s.port==="")&&(s.port=void 0),s.path||(s.path="/"),s}function u(s){return s.secure=a(s),s.resourceName=(s.path||"/")+(s.query?"?"+s.query:""),s.path=void 0,s.query=void 0,s}function h(s){if((s.port===(a(s)?443:80)||s.port==="")&&(s.port=void 0),typeof s.secure=="boolean"&&(s.scheme=s.secure?"wss":"ws",s.secure=void 0),s.resourceName){const[_,g]=s.resourceName.split("?");s.path=_&&_!=="/"?_:void 0,s.query=g,s.resourceName=void 0}return s.fragment=void 0,s}function m(s,_){if(!s.path)return s.error="URN can not be parsed",s;const g=s.path.match(t);if(g){const w=_.scheme||s.scheme||"urn";s.nid=g[1].toLowerCase(),s.nss=g[2];const S=`${w}:${_.nid||s.nid}`,C=n(S);s.path=void 0,C&&(s=C.parse(s,_))}else s.error=s.error||"URN can not be parsed.";return s}function y(s,_){if(s.nid===void 0)throw new Error("URN without nid cannot be serialized");const g=_.scheme||s.scheme||"urn",w=s.nid.toLowerCase(),S=`${g}:${_.nid||w}`,C=n(S);C&&(s=C.serialize(s,_));const q=s,L=s.nss;return q.path=`${w||_.nid}:${L}`,_.skipEscape=!0,q}function k(s,_){const g=s;return g.uuid=g.nss,g.nss=void 0,!_.tolerant&&(!g.uuid||!e(g.uuid))&&(g.error=g.error||"UUID is not valid."),g}function b(s){const _=s;return _.nss=(s.uuid||"").toLowerCase(),_}const l={scheme:"http",domainHost:!0,parse:c,serialize:i},v={scheme:"https",domainHost:l.domainHost,parse:c,serialize:i},E={scheme:"ws",domainHost:!0,parse:u,serialize:h},f={scheme:"wss",domainHost:E.domainHost,parse:E.parse,serialize:E.serialize},p={http:l,https:v,ws:E,wss:f,urn:{scheme:"urn",parse:m,serialize:y,skipNormalize:!0},"urn:uuid":{scheme:"urn:uuid",parse:k,serialize:b,skipNormalize:!0}};Object.setPrototypeOf(p,null);function n(s){return s&&(p[s]||p[s.toLowerCase()])||void 0}return Xt={wsIsSecure:a,SCHEMES:p,isValidSchemeName:o,getSchemeHandler:n},Xt}var Hr;function ea(){if(Hr)return Je.exports;Hr=1;const{normalizeIPv6:e,removeDotSegments:t,recomposeAuthority:r,normalizeComponentEncoding:o,isIPv4:a,nonSimpleDomain:c}=Wr(),{SCHEMES:i,getSchemeHandler:u}=Xn();function h(f,p){return typeof f=="string"?f=b(v(f,p),p):typeof f=="object"&&(f=v(b(f,p),p)),f}function m(f,p,n){const s=n?Object.assign({scheme:"null"},n):{scheme:"null"},_=y(v(f,s),v(p,s),s,!0);return s.skipEscape=!0,b(_,s)}function y(f,p,n,s){const _={};return s||(f=v(b(f,n),n),p=v(b(p,n),n)),n=n||{},!n.tolerant&&p.scheme?(_.scheme=p.scheme,_.userinfo=p.userinfo,_.host=p.host,_.port=p.port,_.path=t(p.path||""),_.query=p.query):(p.userinfo!==void 0||p.host!==void 0||p.port!==void 0?(_.userinfo=p.userinfo,_.host=p.host,_.port=p.port,_.path=t(p.path||""),_.query=p.query):(p.path?(p.path[0]==="/"?_.path=t(p.path):((f.userinfo!==void 0||f.host!==void 0||f.port!==void 0)&&!f.path?_.path="/"+p.path:f.path?_.path=f.path.slice(0,f.path.lastIndexOf("/")+1)+p.path:_.path=p.path,_.path=t(_.path)),_.query=p.query):(_.path=f.path,p.query!==void 0?_.query=p.query:_.query=f.query),_.userinfo=f.userinfo,_.host=f.host,_.port=f.port),_.scheme=f.scheme),_.fragment=p.fragment,_}function k(f,p,n){return typeof f=="string"?(f=unescape(f),f=b(o(v(f,n),!0),{...n,skipEscape:!0})):typeof f=="object"&&(f=b(o(f,!0),{...n,skipEscape:!0})),typeof p=="string"?(p=unescape(p),p=b(o(v(p,n),!0),{...n,skipEscape:!0})):typeof p=="object"&&(p=b(o(p,!0),{...n,skipEscape:!0})),f.toLowerCase()===p.toLowerCase()}function b(f,p){const n={host:f.host,scheme:f.scheme,userinfo:f.userinfo,port:f.port,path:f.path,query:f.query,nid:f.nid,nss:f.nss,uuid:f.uuid,fragment:f.fragment,reference:f.reference,resourceName:f.resourceName,secure:f.secure,error:""},s=Object.assign({},p),_=[],g=u(s.scheme||n.scheme);g&&g.serialize&&g.serialize(n,s),n.path!==void 0&&(s.skipEscape?n.path=unescape(n.path):(n.path=escape(n.path),n.scheme!==void 0&&(n.path=n.path.split("%3A").join(":")))),s.reference!=="suffix"&&n.scheme&&_.push(n.scheme,":");const w=r(n);if(w!==void 0&&(s.reference!=="suffix"&&_.push("//"),_.push(w),n.path&&n.path[0]!=="/"&&_.push("/")),n.path!==void 0){let S=n.path;!s.absolutePath&&(!g||!g.absolutePath)&&(S=t(S)),w===void 0&&S[0]==="/"&&S[1]==="/"&&(S="/%2F"+S.slice(2)),_.push(S)}return n.query!==void 0&&_.push("?",n.query),n.fragment!==void 0&&_.push("#",n.fragment),_.join("")}const l=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function v(f,p){const n=Object.assign({},p),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0};let _=!1;n.reference==="suffix"&&(n.scheme?f=n.scheme+":"+f:f="//"+f);const g=f.match(l);if(g){if(s.scheme=g[1],s.userinfo=g[3],s.host=g[4],s.port=parseInt(g[5],10),s.path=g[6]||"",s.query=g[7],s.fragment=g[8],isNaN(s.port)&&(s.port=g[5]),s.host)if(a(s.host)===!1){const S=e(s.host);s.host=S.host.toLowerCase(),_=S.isIPV6}else _=!0;s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",n.reference&&n.reference!=="suffix"&&n.reference!==s.reference&&(s.error=s.error||"URI is not a "+n.reference+" reference.");const w=u(n.scheme||s.scheme);if(!n.unicodeSupport&&(!w||!w.unicodeSupport)&&s.host&&(n.domainHost||w&&w.domainHost)&&_===!1&&c(s.host))try{s.host=URL.domainToASCII(s.host.toLowerCase())}catch(S){s.error=s.error||"Host's domain name can not be converted to ASCII: "+S}(!w||w&&!w.skipNormalize)&&(f.indexOf("%")!==-1&&(s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),s.host!==void 0&&(s.host=unescape(s.host))),s.path&&(s.path=escape(unescape(s.path))),s.fragment&&(s.fragment=encodeURI(decodeURIComponent(s.fragment)))),w&&w.parse&&w.parse(s,n)}else s.error=s.error||"URI can not be parsed.";return s}const E={SCHEMES:i,normalize:h,resolve:m,resolveComponent:y,equal:k,serialize:b,parse:v};return Je.exports=E,Je.exports.default=E,Je.exports.fastUri=E,Je.exports}var Jr;function ta(){if(Jr)return it;Jr=1,Object.defineProperty(it,"__esModule",{value:!0});const e=ea();return e.code='require("ajv/dist/runtime/uri").default',it.default=e,it}var Zr;function ra(){return Zr||(Zr=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=He();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return t.KeywordCxt}});var r=Q();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const o=Zt(),a=st(),c=xr(),i=Qt(),u=Q(),h=ot(),m=rt(),y=ee(),k=Yn,b=ta(),l=(M,O)=>new RegExp(M,O);l.code="new RegExp";const v=["removeAdditional","useDefaults","coerceTypes"],E=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),f={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},p={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},n=200;function s(M){var O,I,N,d,P,T,D,A,K,H,x,j,V,z,W,X,ie,ge,pe,he,ce,Me,ve,Ft,Kt;const De=M.strict,Bt=(O=M.code)===null||O===void 0?void 0:O.optimize,ur=Bt===!0||Bt===void 0?1:Bt||0,dr=(N=(I=M.code)===null||I===void 0?void 0:I.regExp)!==null&&N!==void 0?N:l,In=(d=M.uriResolver)!==null&&d!==void 0?d:b.default;return{strictSchema:(T=(P=M.strictSchema)!==null&&P!==void 0?P:De)!==null&&T!==void 0?T:!0,strictNumbers:(A=(D=M.strictNumbers)!==null&&D!==void 0?D:De)!==null&&A!==void 0?A:!0,strictTypes:(H=(K=M.strictTypes)!==null&&K!==void 0?K:De)!==null&&H!==void 0?H:"log",strictTuples:(j=(x=M.strictTuples)!==null&&x!==void 0?x:De)!==null&&j!==void 0?j:"log",strictRequired:(z=(V=M.strictRequired)!==null&&V!==void 0?V:De)!==null&&z!==void 0?z:!1,code:M.code?{...M.code,optimize:ur,regExp:dr}:{optimize:ur,regExp:dr},loopRequired:(W=M.loopRequired)!==null&&W!==void 0?W:n,loopEnum:(X=M.loopEnum)!==null&&X!==void 0?X:n,meta:(ie=M.meta)!==null&&ie!==void 0?ie:!0,messages:(ge=M.messages)!==null&&ge!==void 0?ge:!0,inlineRefs:(pe=M.inlineRefs)!==null&&pe!==void 0?pe:!0,schemaId:(he=M.schemaId)!==null&&he!==void 0?he:"$id",addUsedSchema:(ce=M.addUsedSchema)!==null&&ce!==void 0?ce:!0,validateSchema:(Me=M.validateSchema)!==null&&Me!==void 0?Me:!0,validateFormats:(ve=M.validateFormats)!==null&&ve!==void 0?ve:!0,unicodeRegExp:(Ft=M.unicodeRegExp)!==null&&Ft!==void 0?Ft:!0,int32range:(Kt=M.int32range)!==null&&Kt!==void 0?Kt:!0,uriResolver:In}}class _{constructor(O={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,O=this.opts={...O,...s(O)};const{es5:I,lines:N}=this.opts.code;this.scope=new u.ValueScope({scope:{},prefixes:E,es5:I,lines:N}),this.logger=U(O.logger);const d=O.validateFormats;O.validateFormats=!1,this.RULES=(0,c.getRules)(),g.call(this,f,O,"NOT SUPPORTED"),g.call(this,p,O,"DEPRECATED","warn"),this._metaOpts=L.call(this),O.formats&&C.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),O.keywords&&q.call(this,O.keywords),typeof O.meta=="object"&&this.addMetaSchema(O.meta),S.call(this),O.validateFormats=d}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:O,meta:I,schemaId:N}=this.opts;let d=k;N==="id"&&(d={...k},d.id=d.$id,delete d.$id),I&&O&&this.addMetaSchema(d,d[N],!1)}defaultMeta(){const{meta:O,schemaId:I}=this.opts;return this.opts.defaultMeta=typeof O=="object"?O[I]||O:void 0}validate(O,I){let N;if(typeof O=="string"){if(N=this.getSchema(O),!N)throw new Error(`no schema with key or ref "${O}"`)}else N=this.compile(O);const d=N(I);return"$async"in N||(this.errors=N.errors),d}compile(O,I){const N=this._addSchema(O,I);return N.validate||this._compileSchemaEnv(N)}compileAsync(O,I){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:N}=this.opts;return d.call(this,O,I);async function d(H,x){await P.call(this,H.$schema);const j=this._addSchema(H,x);return j.validate||T.call(this,j)}async function P(H){H&&!this.getSchema(H)&&await d.call(this,{$ref:H},!0)}async function T(H){try{return this._compileSchemaEnv(H)}catch(x){if(!(x instanceof a.default))throw x;return D.call(this,x),await A.call(this,x.missingSchema),T.call(this,H)}}function D({missingSchema:H,missingRef:x}){if(this.refs[H])throw new Error(`AnySchema ${H} is loaded but ${x} cannot be resolved`)}async function A(H){const x=await K.call(this,H);this.refs[H]||await P.call(this,x.$schema),this.refs[H]||this.addSchema(x,H,I)}async function K(H){const x=this._loading[H];if(x)return x;try{return await(this._loading[H]=N(H))}finally{delete this._loading[H]}}}addSchema(O,I,N,d=this.opts.validateSchema){if(Array.isArray(O)){for(const T of O)this.addSchema(T,void 0,N,d);return this}let P;if(typeof O=="object"){const{schemaId:T}=this.opts;if(P=O[T],P!==void 0&&typeof P!="string")throw new Error(`schema ${T} must be string`)}return I=(0,h.normalizeId)(I||P),this._checkUnique(I),this.schemas[I]=this._addSchema(O,N,I,d,!0),this}addMetaSchema(O,I,N=this.opts.validateSchema){return this.addSchema(O,I,!0,N),this}validateSchema(O,I){if(typeof O=="boolean")return!0;let N;if(N=O.$schema,N!==void 0&&typeof N!="string")throw new Error("$schema must be a string");if(N=N||this.opts.defaultMeta||this.defaultMeta(),!N)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const d=this.validate(N,O);if(!d&&I){const P="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(P);else throw new Error(P)}return d}getSchema(O){let I;for(;typeof(I=w.call(this,O))=="string";)O=I;if(I===void 0){const{schemaId:N}=this.opts,d=new i.SchemaEnv({schema:{},schemaId:N});if(I=i.resolveSchema.call(this,d,O),!I)return;this.refs[O]=I}return I.validate||this._compileSchemaEnv(I)}removeSchema(O){if(O instanceof RegExp)return this._removeAllSchemas(this.schemas,O),this._removeAllSchemas(this.refs,O),this;switch(typeof O){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const I=w.call(this,O);return typeof I=="object"&&this._cache.delete(I.schema),delete this.schemas[O],delete this.refs[O],this}case"object":{const I=O;this._cache.delete(I);let N=O[this.opts.schemaId];return N&&(N=(0,h.normalizeId)(N),delete this.schemas[N],delete this.refs[N]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(O){for(const I of O)this.addKeyword(I);return this}addKeyword(O,I){let N;if(typeof O=="string")N=O,typeof I=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),I.keyword=N);else if(typeof O=="object"&&I===void 0){if(I=O,N=I.keyword,Array.isArray(N)&&!N.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(B.call(this,N,I),!I)return(0,y.eachItem)(N,P=>ae.call(this,P)),this;ue.call(this,I);const d={...I,type:(0,m.getJSONTypes)(I.type),schemaType:(0,m.getJSONTypes)(I.schemaType)};return(0,y.eachItem)(N,d.type.length===0?P=>ae.call(this,P,d):P=>d.type.forEach(T=>ae.call(this,P,d,T))),this}getKeyword(O){const I=this.RULES.all[O];return typeof I=="object"?I.definition:!!I}removeKeyword(O){const{RULES:I}=this;delete I.keywords[O],delete I.all[O];for(const N of I.rules){const d=N.rules.findIndex(P=>P.keyword===O);d>=0&&N.rules.splice(d,1)}return this}addFormat(O,I){return typeof I=="string"&&(I=new RegExp(I)),this.formats[O]=I,this}errorsText(O=this.errors,{separator:I=", ",dataVar:N="data"}={}){return!O||O.length===0?"No errors":O.map(d=>`${N}${d.instancePath} ${d.message}`).reduce((d,P)=>d+I+P)}$dataMetaSchema(O,I){const N=this.RULES.all;O=JSON.parse(JSON.stringify(O));for(const d of I){const P=d.split("/").slice(1);let T=O;for(const D of P)T=T[D];for(const D in N){const A=N[D];if(typeof A!="object")continue;const{$data:K}=A.definition,H=T[D];K&&H&&(T[D]=de(H))}}return O}_removeAllSchemas(O,I){for(const N in O){const d=O[N];(!I||I.test(N))&&(typeof d=="string"?delete O[N]:d&&!d.meta&&(this._cache.delete(d.schema),delete O[N]))}}_addSchema(O,I,N,d=this.opts.validateSchema,P=this.opts.addUsedSchema){let T;const{schemaId:D}=this.opts;if(typeof O=="object")T=O[D];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof O!="boolean")throw new Error("schema must be object or boolean")}let A=this._cache.get(O);if(A!==void 0)return A;N=(0,h.normalizeId)(T||N);const K=h.getSchemaRefs.call(this,O,N);return A=new i.SchemaEnv({schema:O,schemaId:D,meta:I,baseId:N,localRefs:K}),this._cache.set(A.schema,A),P&&!N.startsWith("#")&&(N&&this._checkUnique(N),this.refs[N]=A),d&&this.validateSchema(O,!0),A}_checkUnique(O){if(this.schemas[O]||this.refs[O])throw new Error(`schema with key or id "${O}" already exists`)}_compileSchemaEnv(O){if(O.meta?this._compileMetaSchema(O):i.compileSchema.call(this,O),!O.validate)throw new Error("ajv implementation error");return O.validate}_compileMetaSchema(O){const I=this.opts;this.opts=this._metaOpts;try{i.compileSchema.call(this,O)}finally{this.opts=I}}}_.ValidationError=o.default,_.MissingRefError=a.default,e.default=_;function g(M,O,I,N="error"){for(const d in M){const P=d;P in O&&this.logger[N](`${I}: option ${d}. ${M[P]}`)}}function w(M){return M=(0,h.normalizeId)(M),this.schemas[M]||this.refs[M]}function S(){const M=this.opts.schemas;if(M)if(Array.isArray(M))this.addSchema(M);else for(const O in M)this.addSchema(M[O],O)}function C(){for(const M in this.opts.formats){const O=this.opts.formats[M];O&&this.addFormat(M,O)}}function q(M){if(Array.isArray(M)){this.addVocabulary(M);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const O in M){const I=M[O];I.keyword||(I.keyword=O),this.addKeyword(I)}}function L(){const M={...this.opts};for(const O of v)delete M[O];return M}const R={log(){},warn(){},error(){}};function U(M){if(M===!1)return R;if(M===void 0)return console;if(M.log&&M.warn&&M.error)return M;throw new Error("logger must implement log, warn and error methods")}const F=/^[a-z_$][a-z0-9_$:-]*$/i;function B(M,O){const{RULES:I}=this;if((0,y.eachItem)(M,N=>{if(I.keywords[N])throw new Error(`Keyword ${N} is already defined`);if(!F.test(N))throw new Error(`Keyword ${N} has invalid name`)}),!!O&&O.$data&&!("code"in O||"validate"in O))throw new Error('$data keyword must have "code" or "validate" function')}function ae(M,O,I){var N;const d=O?.post;if(I&&d)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:P}=this;let T=d?P.post:P.rules.find(({type:A})=>A===I);if(T||(T={type:I,rules:[]},P.rules.push(T)),P.keywords[M]=!0,!O)return;const D={keyword:M,definition:{...O,type:(0,m.getJSONTypes)(O.type),schemaType:(0,m.getJSONTypes)(O.schemaType)}};O.before?se.call(this,T,D,O.before):T.rules.push(D),P.all[M]=D,(N=O.implements)===null||N===void 0||N.forEach(A=>this.addKeyword(A))}function se(M,O,I){const N=M.rules.findIndex(d=>d.keyword===I);N>=0?M.rules.splice(N,0,O):(M.rules.push(O),this.logger.warn(`rule ${I} is not defined`))}function ue(M){let{metaSchema:O}=M;O!==void 0&&(M.$data&&this.opts.$data&&(O=de(O)),M.validateSchema=this.compile(O,!0))}const re={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function de(M){return{anyOf:[M,re]}}})(hr)),hr}var ct={},lt={},ut={},Qr;function oa(){if(Qr)return ut;Qr=1,Object.defineProperty(ut,"__esModule",{value:!0});const e={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};return ut.default=e,ut}var je={},Yr;function na(){if(Yr)return je;Yr=1,Object.defineProperty(je,"__esModule",{value:!0}),je.callRef=je.getValidate=void 0;const e=st(),t=_e(),r=Q(),o=Se(),a=Qt(),c=ee(),i={keyword:"$ref",schemaType:"string",code(m){const{gen:y,schema:k,it:b}=m,{baseId:l,schemaEnv:v,validateName:E,opts:f,self:p}=b,{root:n}=v;if((k==="#"||k==="#/")&&l===n.baseId)return _();const s=a.resolveRef.call(p,n,l,k);if(s===void 0)throw new e.default(b.opts.uriResolver,l,k);if(s instanceof a.SchemaEnv)return g(s);return w(s);function _(){if(v===n)return h(m,E,v,v.$async);const S=y.scopeValue("root",{ref:n});return h(m,(0,r._)`${S}.validate`,n,n.$async)}function g(S){const C=u(m,S);h(m,C,S,S.$async)}function w(S){const C=y.scopeValue("schema",f.code.source===!0?{ref:S,code:(0,r.stringify)(S)}:{ref:S}),q=y.name("valid"),L=m.subschema({schema:S,dataTypes:[],schemaPath:r.nil,topSchemaRef:C,errSchemaPath:k},q);m.mergeEvaluated(L),m.ok(q)}}};function u(m,y){const{gen:k}=m;return y.validate?k.scopeValue("validate",{ref:y.validate}):(0,r._)`${k.scopeValue("wrapper",{ref:y})}.validate`}je.getValidate=u;function h(m,y,k,b){const{gen:l,it:v}=m,{allErrors:E,schemaEnv:f,opts:p}=v,n=p.passContext?o.default.this:r.nil;b?s():_();function s(){if(!f.$async)throw new Error("async schema referenced by sync schema");const S=l.let("valid");l.try(()=>{l.code((0,r._)`await ${(0,t.callValidateCode)(m,y,n)}`),w(y),E||l.assign(S,!0)},C=>{l.if((0,r._)`!(${C} instanceof ${v.ValidationError})`,()=>l.throw(C)),g(C),E||l.assign(S,!1)}),m.ok(S)}function _(){m.result((0,t.callValidateCode)(m,y,n),()=>w(y),()=>g(y))}function g(S){const C=(0,r._)`${S}.errors`;l.assign(o.default.vErrors,(0,r._)`${o.default.vErrors} === null ? ${C} : ${o.default.vErrors}.concat(${C})`),l.assign(o.default.errors,(0,r._)`${o.default.vErrors}.length`)}function w(S){var C;if(!v.opts.unevaluated)return;const q=(C=k?.validate)===null||C===void 0?void 0:C.evaluated;if(v.props!==!0)if(q&&!q.dynamicProps)q.props!==void 0&&(v.props=c.mergeEvaluated.props(l,q.props,v.props));else{const L=l.var("props",(0,r._)`${S}.evaluated.props`);v.props=c.mergeEvaluated.props(l,L,v.props,r.Name)}if(v.items!==!0)if(q&&!q.dynamicItems)q.items!==void 0&&(v.items=c.mergeEvaluated.items(l,q.items,v.items));else{const L=l.var("items",(0,r._)`${S}.evaluated.items`);v.items=c.mergeEvaluated.items(l,L,v.items,r.Name)}}}return je.callRef=h,je.default=i,je}var Xr;function aa(){if(Xr)return lt;Xr=1,Object.defineProperty(lt,"__esModule",{value:!0});const e=oa(),t=na(),r=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e.default,t.default];return lt.default=r,lt}var dt={},ft={},eo;function sa(){if(eo)return ft;eo=1,Object.defineProperty(ft,"__esModule",{value:!0});const e=Q(),t=e.operators,r={maximum:{okStr:"<=",ok:t.LTE,fail:t.GT},minimum:{okStr:">=",ok:t.GTE,fail:t.LT},exclusiveMaximum:{okStr:"<",ok:t.LT,fail:t.GTE},exclusiveMinimum:{okStr:">",ok:t.GT,fail:t.LTE}},o={message:({keyword:c,schemaCode:i})=>(0,e.str)`must be ${r[c].okStr} ${i}`,params:({keyword:c,schemaCode:i})=>(0,e._)`{comparison: ${r[c].okStr}, limit: ${i}}`},a={keyword:Object.keys(r),type:"number",schemaType:"number",$data:!0,error:o,code(c){const{keyword:i,data:u,schemaCode:h}=c;c.fail$data((0,e._)`${u} ${r[i].fail} ${h} || isNaN(${u})`)}};return ft.default=a,ft}var pt={},to;function ia(){if(to)return pt;to=1,Object.defineProperty(pt,"__esModule",{value:!0});const e=Q(),t={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:r})=>(0,e.str)`must be multiple of ${r}`,params:({schemaCode:r})=>(0,e._)`{multipleOf: ${r}}`},code(r){const{gen:o,data:a,schemaCode:c,it:i}=r,u=i.opts.multipleOfPrecision,h=o.let("res"),m=u?(0,e._)`Math.abs(Math.round(${h}) - ${h}) > 1e-${u}`:(0,e._)`${h} !== parseInt(${h})`;r.fail$data((0,e._)`(${c} === 0 || (${h} = ${a}/${c}, ${m}))`)}};return pt.default=t,pt}var ht={},mt={},ro;function ca(){if(ro)return mt;ro=1,Object.defineProperty(mt,"__esModule",{value:!0});function e(t){const r=t.length;let o=0,a=0,c;for(;a<r;)o++,c=t.charCodeAt(a++),c>=55296&&c<=56319&&a<r&&(c=t.charCodeAt(a),(c&64512)===56320&&a++);return o}return mt.default=e,e.code='require("ajv/dist/runtime/ucs2length").default',mt}var oo;function la(){if(oo)return ht;oo=1,Object.defineProperty(ht,"__esModule",{value:!0});const e=Q(),t=ee(),r=ca(),o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:a,schemaCode:c}){const i=a==="maxLength"?"more":"fewer";return(0,e.str)`must NOT have ${i} than ${c} characters`},params:({schemaCode:a})=>(0,e._)`{limit: ${a}}`},code(a){const{keyword:c,data:i,schemaCode:u,it:h}=a,m=c==="maxLength"?e.operators.GT:e.operators.LT,y=h.opts.unicode===!1?(0,e._)`${i}.length`:(0,e._)`${(0,t.useFunc)(a.gen,r.default)}(${i})`;a.fail$data((0,e._)`${y} ${m} ${u}`)}};return ht.default=o,ht}var yt={},no;function ua(){if(no)return yt;no=1,Object.defineProperty(yt,"__esModule",{value:!0});const e=_e(),t=ee(),r=Q(),o={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:a})=>(0,r.str)`must match pattern "${a}"`,params:({schemaCode:a})=>(0,r._)`{pattern: ${a}}`},code(a){const{gen:c,data:i,$data:u,schema:h,schemaCode:m,it:y}=a,k=y.opts.unicodeRegExp?"u":"";if(u){const{regExp:b}=y.opts.code,l=b.code==="new RegExp"?(0,r._)`new RegExp`:(0,t.useFunc)(c,b),v=c.let("valid");c.try(()=>c.assign(v,(0,r._)`${l}(${m}, ${k}).test(${i})`),()=>c.assign(v,!1)),a.fail$data((0,r._)`!${v}`)}else{const b=(0,e.usePattern)(a,h);a.fail$data((0,r._)`!${b}.test(${i})`)}}};return yt.default=o,yt}var vt={},ao;function da(){if(ao)return vt;ao=1,Object.defineProperty(vt,"__esModule",{value:!0});const e=Q(),t={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:r,schemaCode:o}){const a=r==="maxProperties"?"more":"fewer";return(0,e.str)`must NOT have ${a} than ${o} properties`},params:({schemaCode:r})=>(0,e._)`{limit: ${r}}`},code(r){const{keyword:o,data:a,schemaCode:c}=r,i=o==="maxProperties"?e.operators.GT:e.operators.LT;r.fail$data((0,e._)`Object.keys(${a}).length ${i} ${c}`)}};return vt.default=t,vt}var gt={},so;function fa(){if(so)return gt;so=1,Object.defineProperty(gt,"__esModule",{value:!0});const e=_e(),t=Q(),r=ee(),o={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:a}})=>(0,t.str)`must have required property '${a}'`,params:({params:{missingProperty:a}})=>(0,t._)`{missingProperty: ${a}}`},code(a){const{gen:c,schema:i,schemaCode:u,data:h,$data:m,it:y}=a,{opts:k}=y;if(!m&&i.length===0)return;const b=i.length>=k.loopRequired;if(y.allErrors?l():v(),k.strictRequired){const p=a.parentSchema.properties,{definedProperties:n}=a.it;for(const s of i)if(p?.[s]===void 0&&!n.has(s)){const _=y.schemaEnv.baseId+y.errSchemaPath,g=`required property "${s}" is not defined at "${_}" (strictRequired)`;(0,r.checkStrictMode)(y,g,y.opts.strictRequired)}}function l(){if(b||m)a.block$data(t.nil,E);else for(const p of i)(0,e.checkReportMissingProp)(a,p)}function v(){const p=c.let("missing");if(b||m){const n=c.let("valid",!0);a.block$data(n,()=>f(p,n)),a.ok(n)}else c.if((0,e.checkMissingProp)(a,i,p)),(0,e.reportMissingProp)(a,p),c.else()}function E(){c.forOf("prop",u,p=>{a.setParams({missingProperty:p}),c.if((0,e.noPropertyInData)(c,h,p,k.ownProperties),()=>a.error())})}function f(p,n){a.setParams({missingProperty:p}),c.forOf(p,u,()=>{c.assign(n,(0,e.propertyInData)(c,h,p,k.ownProperties)),c.if((0,t.not)(n),()=>{a.error(),c.break()})},t.nil)}}};return gt.default=o,gt}var $t={},io;function pa(){if(io)return $t;io=1,Object.defineProperty($t,"__esModule",{value:!0});const e=Q(),t={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:r,schemaCode:o}){const a=r==="maxItems"?"more":"fewer";return(0,e.str)`must NOT have ${a} than ${o} items`},params:({schemaCode:r})=>(0,e._)`{limit: ${r}}`},code(r){const{keyword:o,data:a,schemaCode:c}=r,i=o==="maxItems"?e.operators.GT:e.operators.LT;r.fail$data((0,e._)`${a}.length ${i} ${c}`)}};return $t.default=t,$t}var bt={},_t={},co;function er(){if(co)return _t;co=1,Object.defineProperty(_t,"__esModule",{value:!0});const e=qr();return e.code='require("ajv/dist/runtime/equal").default',_t.default=e,_t}var lo;function ha(){if(lo)return bt;lo=1,Object.defineProperty(bt,"__esModule",{value:!0});const e=rt(),t=Q(),r=ee(),o=er(),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:c,j:i}})=>(0,t.str)`must NOT have duplicate items (items ## ${i} and ${c} are identical)`,params:({params:{i:c,j:i}})=>(0,t._)`{i: ${c}, j: ${i}}`},code(c){const{gen:i,data:u,$data:h,schema:m,parentSchema:y,schemaCode:k,it:b}=c;if(!h&&!m)return;const l=i.let("valid"),v=y.items?(0,e.getSchemaTypes)(y.items):[];c.block$data(l,E,(0,t._)`${k} === false`),c.ok(l);function E(){const s=i.let("i",(0,t._)`${u}.length`),_=i.let("j");c.setParams({i:s,j:_}),i.assign(l,!0),i.if((0,t._)`${s} > 1`,()=>(f()?p:n)(s,_))}function f(){return v.length>0&&!v.some(s=>s==="object"||s==="array")}function p(s,_){const g=i.name("item"),w=(0,e.checkDataTypes)(v,g,b.opts.strictNumbers,e.DataType.Wrong),S=i.const("indices",(0,t._)`{}`);i.for((0,t._)`;${s}--;`,()=>{i.let(g,(0,t._)`${u}[${s}]`),i.if(w,(0,t._)`continue`),v.length>1&&i.if((0,t._)`typeof ${g} == "string"`,(0,t._)`${g} += "_"`),i.if((0,t._)`typeof ${S}[${g}] == "number"`,()=>{i.assign(_,(0,t._)`${S}[${g}]`),c.error(),i.assign(l,!1).break()}).code((0,t._)`${S}[${g}] = ${s}`)})}function n(s,_){const g=(0,r.useFunc)(i,o.default),w=i.name("outer");i.label(w).for((0,t._)`;${s}--;`,()=>i.for((0,t._)`${_} = ${s}; ${_}--;`,()=>i.if((0,t._)`${g}(${u}[${s}], ${u}[${_}])`,()=>{c.error(),i.assign(l,!1).break(w)})))}}};return bt.default=a,bt}var wt={},uo;function ma(){if(uo)return wt;uo=1,Object.defineProperty(wt,"__esModule",{value:!0});const e=Q(),t=ee(),r=er(),o={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:a})=>(0,e._)`{allowedValue: ${a}}`},code(a){const{gen:c,data:i,$data:u,schemaCode:h,schema:m}=a;u||m&&typeof m=="object"?a.fail$data((0,e._)`!${(0,t.useFunc)(c,r.default)}(${i}, ${h})`):a.fail((0,e._)`${m} !== ${i}`)}};return wt.default=o,wt}var Pt={},fo;function ya(){if(fo)return Pt;fo=1,Object.defineProperty(Pt,"__esModule",{value:!0});const e=Q(),t=ee(),r=er(),o={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:a})=>(0,e._)`{allowedValues: ${a}}`},code(a){const{gen:c,data:i,$data:u,schema:h,schemaCode:m,it:y}=a;if(!u&&h.length===0)throw new Error("enum must have non-empty array");const k=h.length>=y.opts.loopEnum;let b;const l=()=>b??(b=(0,t.useFunc)(c,r.default));let v;if(k||u)v=c.let("valid"),a.block$data(v,E);else{if(!Array.isArray(h))throw new Error("ajv implementation error");const p=c.const("vSchema",m);v=(0,e.or)(...h.map((n,s)=>f(p,s)))}a.pass(v);function E(){c.assign(v,!1),c.forOf("v",m,p=>c.if((0,e._)`${l()}(${i}, ${p})`,()=>c.assign(v,!0).break()))}function f(p,n){const s=h[n];return typeof s=="object"&&s!==null?(0,e._)`${l()}(${i}, ${p}[${n}])`:(0,e._)`${i} === ${s}`}}};return Pt.default=o,Pt}var po;function va(){if(po)return dt;po=1,Object.defineProperty(dt,"__esModule",{value:!0});const e=sa(),t=ia(),r=la(),o=ua(),a=da(),c=fa(),i=pa(),u=ha(),h=ma(),m=ya(),y=[e.default,t.default,r.default,o.default,a.default,c.default,i.default,u.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},h.default,m.default];return dt.default=y,dt}var Et={},Ae={},ho;function mo(){if(ho)return Ae;ho=1,Object.defineProperty(Ae,"__esModule",{value:!0}),Ae.validateAdditionalItems=void 0;const e=Q(),t=ee(),r={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:a}})=>(0,e.str)`must NOT have more than ${a} items`,params:({params:{len:a}})=>(0,e._)`{limit: ${a}}`},code(a){const{parentSchema:c,it:i}=a,{items:u}=c;if(!Array.isArray(u)){(0,t.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas');return}o(a,u)}};function o(a,c){const{gen:i,schema:u,data:h,keyword:m,it:y}=a;y.items=!0;const k=i.const("len",(0,e._)`${h}.length`);if(u===!1)a.setParams({len:c.length}),a.pass((0,e._)`${k} <= ${c.length}`);else if(typeof u=="object"&&!(0,t.alwaysValidSchema)(y,u)){const l=i.var("valid",(0,e._)`${k} <= ${c.length}`);i.if((0,e.not)(l),()=>b(l)),a.ok(l)}function b(l){i.forRange("i",c.length,k,v=>{a.subschema({keyword:m,dataProp:v,dataPropType:t.Type.Num},l),y.allErrors||i.if((0,e.not)(l),()=>i.break())})}}return Ae.validateAdditionalItems=o,Ae.default=r,Ae}var St={},qe={},yo;function vo(){if(yo)return qe;yo=1,Object.defineProperty(qe,"__esModule",{value:!0}),qe.validateTuple=void 0;const e=Q(),t=ee(),r=_e(),o={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(c){const{schema:i,it:u}=c;if(Array.isArray(i))return a(c,"additionalItems",i);u.items=!0,!(0,t.alwaysValidSchema)(u,i)&&c.ok((0,r.validateArray)(c))}};function a(c,i,u=c.schema){const{gen:h,parentSchema:m,data:y,keyword:k,it:b}=c;E(m),b.opts.unevaluated&&u.length&&b.items!==!0&&(b.items=t.mergeEvaluated.items(h,u.length,b.items));const l=h.name("valid"),v=h.const("len",(0,e._)`${y}.length`);u.forEach((f,p)=>{(0,t.alwaysValidSchema)(b,f)||(h.if((0,e._)`${v} > ${p}`,()=>c.subschema({keyword:k,schemaProp:p,dataProp:p},l)),c.ok(l))});function E(f){const{opts:p,errSchemaPath:n}=b,s=u.length,_=s===f.minItems&&(s===f.maxItems||f[i]===!1);if(p.strictTuples&&!_){const g=`"${k}" is ${s}-tuple, but minItems or maxItems/${i} are not specified or different at path "${n}"`;(0,t.checkStrictMode)(b,g,p.strictTuples)}}}return qe.validateTuple=a,qe.default=o,qe}var go;function ga(){if(go)return St;go=1,Object.defineProperty(St,"__esModule",{value:!0});const e=vo(),t={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:r=>(0,e.validateTuple)(r,"items")};return St.default=t,St}var kt={},$o;function $a(){if($o)return kt;$o=1,Object.defineProperty(kt,"__esModule",{value:!0});const e=Q(),t=ee(),r=_e(),o=mo(),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:c}})=>(0,e.str)`must NOT have more than ${c} items`,params:({params:{len:c}})=>(0,e._)`{limit: ${c}}`},code(c){const{schema:i,parentSchema:u,it:h}=c,{prefixItems:m}=u;h.items=!0,!(0,t.alwaysValidSchema)(h,i)&&(m?(0,o.validateAdditionalItems)(c,m):c.ok((0,r.validateArray)(c)))}};return kt.default=a,kt}var Nt={},bo;function ba(){if(bo)return Nt;bo=1,Object.defineProperty(Nt,"__esModule",{value:!0});const e=Q(),t=ee(),r={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:o,max:a}})=>a===void 0?(0,e.str)`must contain at least ${o} valid item(s)`:(0,e.str)`must contain at least ${o} and no more than ${a} valid item(s)`,params:({params:{min:o,max:a}})=>a===void 0?(0,e._)`{minContains: ${o}}`:(0,e._)`{minContains: ${o}, maxContains: ${a}}`},code(o){const{gen:a,schema:c,parentSchema:i,data:u,it:h}=o;let m,y;const{minContains:k,maxContains:b}=i;h.opts.next?(m=k===void 0?1:k,y=b):m=1;const l=a.const("len",(0,e._)`${u}.length`);if(o.setParams({min:m,max:y}),y===void 0&&m===0){(0,t.checkStrictMode)(h,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(y!==void 0&&m>y){(0,t.checkStrictMode)(h,'"minContains" > "maxContains" is always invalid'),o.fail();return}if((0,t.alwaysValidSchema)(h,c)){let n=(0,e._)`${l} >= ${m}`;y!==void 0&&(n=(0,e._)`${n} && ${l} <= ${y}`),o.pass(n);return}h.items=!0;const v=a.name("valid");y===void 0&&m===1?f(v,()=>a.if(v,()=>a.break())):m===0?(a.let(v,!0),y!==void 0&&a.if((0,e._)`${u}.length > 0`,E)):(a.let(v,!1),E()),o.result(v,()=>o.reset());function E(){const n=a.name("_valid"),s=a.let("count",0);f(n,()=>a.if(n,()=>p(s)))}function f(n,s){a.forRange("i",0,l,_=>{o.subschema({keyword:"contains",dataProp:_,dataPropType:t.Type.Num,compositeRule:!0},n),s()})}function p(n){a.code((0,e._)`${n}++`),y===void 0?a.if((0,e._)`${n} >= ${m}`,()=>a.assign(v,!0).break()):(a.if((0,e._)`${n} > ${y}`,()=>a.assign(v,!1).break()),m===1?a.assign(v,!0):a.if((0,e._)`${n} >= ${m}`,()=>a.assign(v,!0)))}}};return Nt.default=r,Nt}var _o={},wo;function _a(){return wo||(wo=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=Q(),r=ee(),o=_e();e.error={message:({params:{property:h,depsCount:m,deps:y}})=>{const k=m===1?"property":"properties";return(0,t.str)`must have ${k} ${y} when property ${h} is present`},params:({params:{property:h,depsCount:m,deps:y,missingProperty:k}})=>(0,t._)`{property: ${h},
6
+ missingProperty: ${k},
7
+ depsCount: ${m},
8
+ deps: ${y}}`};const a={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(h){const[m,y]=c(h);i(h,m),u(h,y)}};function c({schema:h}){const m={},y={};for(const k in h){if(k==="__proto__")continue;const b=Array.isArray(h[k])?m:y;b[k]=h[k]}return[m,y]}function i(h,m=h.schema){const{gen:y,data:k,it:b}=h;if(Object.keys(m).length===0)return;const l=y.let("missing");for(const v in m){const E=m[v];if(E.length===0)continue;const f=(0,o.propertyInData)(y,k,v,b.opts.ownProperties);h.setParams({property:v,depsCount:E.length,deps:E.join(", ")}),b.allErrors?y.if(f,()=>{for(const p of E)(0,o.checkReportMissingProp)(h,p)}):(y.if((0,t._)`${f} && (${(0,o.checkMissingProp)(h,E,l)})`),(0,o.reportMissingProp)(h,l),y.else())}}e.validatePropertyDeps=i;function u(h,m=h.schema){const{gen:y,data:k,keyword:b,it:l}=h,v=y.name("valid");for(const E in m)(0,r.alwaysValidSchema)(l,m[E])||(y.if((0,o.propertyInData)(y,k,E,l.opts.ownProperties),()=>{const f=h.subschema({keyword:b,schemaProp:E},v);h.mergeValidEvaluated(f,v)},()=>y.var(v,!0)),h.ok(v))}e.validateSchemaDeps=u,e.default=a})(_o)),_o}var xt={},Po;function wa(){if(Po)return xt;Po=1,Object.defineProperty(xt,"__esModule",{value:!0});const e=Q(),t=ee(),r={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:o})=>(0,e._)`{propertyName: ${o.propertyName}}`},code(o){const{gen:a,schema:c,data:i,it:u}=o;if((0,t.alwaysValidSchema)(u,c))return;const h=a.name("valid");a.forIn("key",i,m=>{o.setParams({propertyName:m}),o.subschema({keyword:"propertyNames",data:m,dataTypes:["string"],propertyName:m,compositeRule:!0},h),a.if((0,e.not)(h),()=>{o.error(!0),u.allErrors||a.break()})}),o.ok(h)}};return xt.default=r,xt}var jt={},Eo;function So(){if(Eo)return jt;Eo=1,Object.defineProperty(jt,"__esModule",{value:!0});const e=_e(),t=Q(),r=Se(),o=ee(),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:c})=>(0,t._)`{additionalProperty: ${c.additionalProperty}}`},code(c){const{gen:i,schema:u,parentSchema:h,data:m,errsCount:y,it:k}=c;if(!y)throw new Error("ajv implementation error");const{allErrors:b,opts:l}=k;if(k.props=!0,l.removeAdditional!=="all"&&(0,o.alwaysValidSchema)(k,u))return;const v=(0,e.allSchemaProperties)(h.properties),E=(0,e.allSchemaProperties)(h.patternProperties);f(),c.ok((0,t._)`${y} === ${r.default.errors}`);function f(){i.forIn("key",m,g=>{!v.length&&!E.length?s(g):i.if(p(g),()=>s(g))})}function p(g){let w;if(v.length>8){const S=(0,o.schemaRefOrVal)(k,h.properties,"properties");w=(0,e.isOwnProperty)(i,S,g)}else v.length?w=(0,t.or)(...v.map(S=>(0,t._)`${g} === ${S}`)):w=t.nil;return E.length&&(w=(0,t.or)(w,...E.map(S=>(0,t._)`${(0,e.usePattern)(c,S)}.test(${g})`))),(0,t.not)(w)}function n(g){i.code((0,t._)`delete ${m}[${g}]`)}function s(g){if(l.removeAdditional==="all"||l.removeAdditional&&u===!1){n(g);return}if(u===!1){c.setParams({additionalProperty:g}),c.error(),b||i.break();return}if(typeof u=="object"&&!(0,o.alwaysValidSchema)(k,u)){const w=i.name("valid");l.removeAdditional==="failing"?(_(g,w,!1),i.if((0,t.not)(w),()=>{c.reset(),n(g)})):(_(g,w),b||i.if((0,t.not)(w),()=>i.break()))}}function _(g,w,S){const C={keyword:"additionalProperties",dataProp:g,dataPropType:o.Type.Str};S===!1&&Object.assign(C,{compositeRule:!0,createErrors:!1,allErrors:!1}),c.subschema(C,w)}}};return jt.default=a,jt}var Ot={},ko;function Pa(){if(ko)return Ot;ko=1,Object.defineProperty(Ot,"__esModule",{value:!0});const e=He(),t=_e(),r=ee(),o=So(),a={keyword:"properties",type:"object",schemaType:"object",code(c){const{gen:i,schema:u,parentSchema:h,data:m,it:y}=c;y.opts.removeAdditional==="all"&&h.additionalProperties===void 0&&o.default.code(new e.KeywordCxt(y,o.default,"additionalProperties"));const k=(0,t.allSchemaProperties)(u);for(const f of k)y.definedProperties.add(f);y.opts.unevaluated&&k.length&&y.props!==!0&&(y.props=r.mergeEvaluated.props(i,(0,r.toHash)(k),y.props));const b=k.filter(f=>!(0,r.alwaysValidSchema)(y,u[f]));if(b.length===0)return;const l=i.name("valid");for(const f of b)v(f)?E(f):(i.if((0,t.propertyInData)(i,m,f,y.opts.ownProperties)),E(f),y.allErrors||i.else().var(l,!0),i.endIf()),c.it.definedProperties.add(f),c.ok(l);function v(f){return y.opts.useDefaults&&!y.compositeRule&&u[f].default!==void 0}function E(f){c.subschema({keyword:"properties",schemaProp:f,dataProp:f},l)}}};return Ot.default=a,Ot}var It={},No;function Ea(){if(No)return It;No=1,Object.defineProperty(It,"__esModule",{value:!0});const e=_e(),t=Q(),r=ee(),o=ee(),a={keyword:"patternProperties",type:"object",schemaType:"object",code(c){const{gen:i,schema:u,data:h,parentSchema:m,it:y}=c,{opts:k}=y,b=(0,e.allSchemaProperties)(u),l=b.filter(_=>(0,r.alwaysValidSchema)(y,u[_]));if(b.length===0||l.length===b.length&&(!y.opts.unevaluated||y.props===!0))return;const v=k.strictSchema&&!k.allowMatchingProperties&&m.properties,E=i.name("valid");y.props!==!0&&!(y.props instanceof t.Name)&&(y.props=(0,o.evaluatedPropsToName)(i,y.props));const{props:f}=y;p();function p(){for(const _ of b)v&&n(_),y.allErrors?s(_):(i.var(E,!0),s(_),i.if(E))}function n(_){for(const g in v)new RegExp(_).test(g)&&(0,r.checkStrictMode)(y,`property ${g} matches pattern ${_} (use allowMatchingProperties)`)}function s(_){i.forIn("key",h,g=>{i.if((0,t._)`${(0,e.usePattern)(c,_)}.test(${g})`,()=>{const w=l.includes(_);w||c.subschema({keyword:"patternProperties",schemaProp:_,dataProp:g,dataPropType:o.Type.Str},E),y.opts.unevaluated&&f!==!0?i.assign((0,t._)`${f}[${g}]`,!0):!w&&!y.allErrors&&i.if((0,t.not)(E),()=>i.break())})})}}};return It.default=a,It}var Tt={},xo;function Sa(){if(xo)return Tt;xo=1,Object.defineProperty(Tt,"__esModule",{value:!0});const e=ee(),t={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(r){const{gen:o,schema:a,it:c}=r;if((0,e.alwaysValidSchema)(c,a)){r.fail();return}const i=o.name("valid");r.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),r.failResult(i,()=>r.reset(),()=>r.error())},error:{message:"must NOT be valid"}};return Tt.default=t,Tt}var Ct={},jo;function ka(){if(jo)return Ct;jo=1,Object.defineProperty(Ct,"__esModule",{value:!0});const e={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:_e().validateUnion,error:{message:"must match a schema in anyOf"}};return Ct.default=e,Ct}var Vt={},Oo;function Na(){if(Oo)return Vt;Oo=1,Object.defineProperty(Vt,"__esModule",{value:!0});const e=Q(),t=ee(),r={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:o})=>(0,e._)`{passingSchemas: ${o.passing}}`},code(o){const{gen:a,schema:c,parentSchema:i,it:u}=o;if(!Array.isArray(c))throw new Error("ajv implementation error");if(u.opts.discriminator&&i.discriminator)return;const h=c,m=a.let("valid",!1),y=a.let("passing",null),k=a.name("_valid");o.setParams({passing:y}),a.block(b),o.result(m,()=>o.reset(),()=>o.error(!0));function b(){h.forEach((l,v)=>{let E;(0,t.alwaysValidSchema)(u,l)?a.var(k,!0):E=o.subschema({keyword:"oneOf",schemaProp:v,compositeRule:!0},k),v>0&&a.if((0,e._)`${k} && ${m}`).assign(m,!1).assign(y,(0,e._)`[${y}, ${v}]`).else(),a.if(k,()=>{a.assign(m,!0),a.assign(y,v),E&&o.mergeEvaluated(E,e.Name)})})}}};return Vt.default=r,Vt}var Rt={},Io;function xa(){if(Io)return Rt;Io=1,Object.defineProperty(Rt,"__esModule",{value:!0});const e=ee(),t={keyword:"allOf",schemaType:"array",code(r){const{gen:o,schema:a,it:c}=r;if(!Array.isArray(a))throw new Error("ajv implementation error");const i=o.name("valid");a.forEach((u,h)=>{if((0,e.alwaysValidSchema)(c,u))return;const m=r.subschema({keyword:"allOf",schemaProp:h},i);r.ok(i),r.mergeEvaluated(m)})}};return Rt.default=t,Rt}var Mt={},To;function ja(){if(To)return Mt;To=1,Object.defineProperty(Mt,"__esModule",{value:!0});const e=Q(),t=ee(),r={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:a})=>(0,e.str)`must match "${a.ifClause}" schema`,params:({params:a})=>(0,e._)`{failingKeyword: ${a.ifClause}}`},code(a){const{gen:c,parentSchema:i,it:u}=a;i.then===void 0&&i.else===void 0&&(0,t.checkStrictMode)(u,'"if" without "then" and "else" is ignored');const h=o(u,"then"),m=o(u,"else");if(!h&&!m)return;const y=c.let("valid",!0),k=c.name("_valid");if(b(),a.reset(),h&&m){const v=c.let("ifClause");a.setParams({ifClause:v}),c.if(k,l("then",v),l("else",v))}else h?c.if(k,l("then")):c.if((0,e.not)(k),l("else"));a.pass(y,()=>a.error(!0));function b(){const v=a.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},k);a.mergeEvaluated(v)}function l(v,E){return()=>{const f=a.subschema({keyword:v},k);c.assign(y,k),a.mergeValidEvaluated(f,y),E?c.assign(E,(0,e._)`${v}`):a.setParams({ifClause:v})}}}};function o(a,c){const i=a.schema[c];return i!==void 0&&!(0,t.alwaysValidSchema)(a,i)}return Mt.default=r,Mt}var At={},Co;function Oa(){if(Co)return At;Co=1,Object.defineProperty(At,"__esModule",{value:!0});const e=ee(),t={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:r,parentSchema:o,it:a}){o.if===void 0&&(0,e.checkStrictMode)(a,`"${r}" without "if" is ignored`)}};return At.default=t,At}var Vo;function Ia(){if(Vo)return Et;Vo=1,Object.defineProperty(Et,"__esModule",{value:!0});const e=mo(),t=ga(),r=vo(),o=$a(),a=ba(),c=_a(),i=wa(),u=So(),h=Pa(),m=Ea(),y=Sa(),k=ka(),b=Na(),l=xa(),v=ja(),E=Oa();function f(p=!1){const n=[y.default,k.default,b.default,l.default,v.default,E.default,i.default,u.default,c.default,h.default,m.default];return p?n.push(t.default,o.default):n.push(e.default,r.default),n.push(a.default),n}return Et.default=f,Et}var qt={},zt={},Ro;function Ta(){if(Ro)return zt;Ro=1,Object.defineProperty(zt,"__esModule",{value:!0});const e=Q(),t={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:r})=>(0,e.str)`must match format "${r}"`,params:({schemaCode:r})=>(0,e._)`{format: ${r}}`},code(r,o){const{gen:a,data:c,$data:i,schema:u,schemaCode:h,it:m}=r,{opts:y,errSchemaPath:k,schemaEnv:b,self:l}=m;if(!y.validateFormats)return;i?v():E();function v(){const f=a.scopeValue("formats",{ref:l.formats,code:y.code.formats}),p=a.const("fDef",(0,e._)`${f}[${h}]`),n=a.let("fType"),s=a.let("format");a.if((0,e._)`typeof ${p} == "object" && !(${p} instanceof RegExp)`,()=>a.assign(n,(0,e._)`${p}.type || "string"`).assign(s,(0,e._)`${p}.validate`),()=>a.assign(n,(0,e._)`"string"`).assign(s,p)),r.fail$data((0,e.or)(_(),g()));function _(){return y.strictSchema===!1?e.nil:(0,e._)`${h} && !${s}`}function g(){const w=b.$async?(0,e._)`(${p}.async ? await ${s}(${c}) : ${s}(${c}))`:(0,e._)`${s}(${c})`,S=(0,e._)`(typeof ${s} == "function" ? ${w} : ${s}.test(${c}))`;return(0,e._)`${s} && ${s} !== true && ${n} === ${o} && !${S}`}}function E(){const f=l.formats[u];if(!f){_();return}if(f===!0)return;const[p,n,s]=g(f);p===o&&r.pass(w());function _(){if(y.strictSchema===!1){l.logger.warn(S());return}throw new Error(S());function S(){return`unknown format "${u}" ignored in schema at path "${k}"`}}function g(S){const C=S instanceof RegExp?(0,e.regexpCode)(S):y.code.formats?(0,e._)`${y.code.formats}${(0,e.getProperty)(u)}`:void 0,q=a.scopeValue("formats",{key:u,ref:S,code:C});return typeof S=="object"&&!(S instanceof RegExp)?[S.type||"string",S.validate,(0,e._)`${q}.validate`]:["string",S,q]}function w(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!b.$async)throw new Error("async format in sync schema");return(0,e._)`await ${s}(${c})`}return typeof n=="function"?(0,e._)`${s}(${c})`:(0,e._)`${s}.test(${c})`}}}};return zt.default=t,zt}var Mo;function Ca(){if(Mo)return qt;Mo=1,Object.defineProperty(qt,"__esModule",{value:!0});const e=[Ta().default];return qt.default=e,qt}var ze={},Ao;function Va(){return Ao||(Ao=1,Object.defineProperty(ze,"__esModule",{value:!0}),ze.contentVocabulary=ze.metadataVocabulary=void 0,ze.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],ze.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]),ze}var qo;function Ra(){if(qo)return ct;qo=1,Object.defineProperty(ct,"__esModule",{value:!0});const e=aa(),t=va(),r=Ia(),o=Ca(),a=Va(),c=[e.default,t.default,(0,r.default)(),o.default,a.metadataVocabulary,a.contentVocabulary];return ct.default=c,ct}var Lt={},Ze={},zo;function Ma(){if(zo)return Ze;zo=1,Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.DiscrError=void 0;var e;return(function(t){t.Tag="tag",t.Mapping="mapping"})(e||(Ze.DiscrError=e={})),Ze}var Lo;function Aa(){if(Lo)return Lt;Lo=1,Object.defineProperty(Lt,"__esModule",{value:!0});const e=Q(),t=Ma(),r=Qt(),o=st(),a=ee(),c={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:i,tagName:u}})=>i===t.DiscrError.Tag?`tag "${u}" must be string`:`value of tag "${u}" must be in oneOf`,params:({params:{discrError:i,tag:u,tagName:h}})=>(0,e._)`{error: ${i}, tag: ${h}, tagValue: ${u}}`},code(i){const{gen:u,data:h,schema:m,parentSchema:y,it:k}=i,{oneOf:b}=y;if(!k.opts.discriminator)throw new Error("discriminator: requires discriminator option");const l=m.propertyName;if(typeof l!="string")throw new Error("discriminator: requires propertyName");if(m.mapping)throw new Error("discriminator: mapping is not supported");if(!b)throw new Error("discriminator: requires oneOf keyword");const v=u.let("valid",!1),E=u.const("tag",(0,e._)`${h}${(0,e.getProperty)(l)}`);u.if((0,e._)`typeof ${E} == "string"`,()=>f(),()=>i.error(!1,{discrError:t.DiscrError.Tag,tag:E,tagName:l})),i.ok(v);function f(){const s=n();u.if(!1);for(const _ in s)u.elseIf((0,e._)`${E} === ${_}`),u.assign(v,p(s[_]));u.else(),i.error(!1,{discrError:t.DiscrError.Mapping,tag:E,tagName:l}),u.endIf()}function p(s){const _=u.name("valid"),g=i.subschema({keyword:"oneOf",schemaProp:s},_);return i.mergeEvaluated(g,e.Name),_}function n(){var s;const _={},g=S(y);let w=!0;for(let L=0;L<b.length;L++){let R=b[L];if(R!=null&&R.$ref&&!(0,a.schemaHasRulesButRef)(R,k.self.RULES)){const F=R.$ref;if(R=r.resolveRef.call(k.self,k.schemaEnv.root,k.baseId,F),R instanceof r.SchemaEnv&&(R=R.schema),R===void 0)throw new o.default(k.opts.uriResolver,k.baseId,F)}const U=(s=R?.properties)===null||s===void 0?void 0:s[l];if(typeof U!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${l}"`);w=w&&(g||S(R)),C(U,L)}if(!w)throw new Error(`discriminator: "${l}" must be required`);return _;function S({required:L}){return Array.isArray(L)&&L.includes(l)}function C(L,R){if(L.const)q(L.const,R);else if(L.enum)for(const U of L.enum)q(U,R);else throw new Error(`discriminator: "properties/${l}" must have "const" or "enum"`)}function q(L,R){if(typeof L!="string"||L in _)throw new Error(`discriminator: "${l}" values must be unique strings`);_[L]=R}}}};return Lt.default=c,Lt}const qa="http://json-schema.org/draft-07/schema#",za="http://json-schema.org/draft-07/schema#",La="Core schema meta-schema",Da={schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},Ua=["object","boolean"],Fa={$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},Ka={$schema:qa,$id:za,title:La,definitions:Da,type:Ua,properties:Fa,default:!0};var Do;function tr(){return Do||(Do=1,(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;const r=ra(),o=Ra(),a=Aa(),c=Ka,i=["/properties"],u="http://json-schema.org/draft-07/schema";class h extends r.default{_addVocabularies(){super._addVocabularies(),o.default.forEach(v=>this.addVocabulary(v)),this.opts.discriminator&&this.addKeyword(a.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const v=this.opts.$data?this.$dataMetaSchema(c,i):c;this.addMetaSchema(v,u,!1),this.refs["http://json-schema.org/schema"]=u}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(u)?u:void 0)}}t.Ajv=h,e.exports=t=h,e.exports.Ajv=h,Object.defineProperty(t,"__esModule",{value:!0}),t.default=h;var m=He();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return m.KeywordCxt}});var y=Q();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return y._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return y.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return y.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return y.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return y.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return y.CodeGen}});var k=Zt();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return k.default}});var b=st();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return b.default}})})(Ht,Ht.exports)),Ht.exports}var Ba=tr();const Wa=et(Ba);var rr={exports:{}},Uo={},Fo;function Ga(){return Fo||(Fo=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(R,U){return{validate:R,compare:U}}e.fullFormats={date:t(c,i),time:t(h(!0),m),"date-time":t(b(!0),l),"iso-time":t(h(),y),"iso-date-time":t(b(),v),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:p,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:L,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:s,int32:{type:"number",validate:w},int64:{type:"number",validate:S},float:{type:"number",validate:C},double:{type:"number",validate:C},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,i),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,m),"date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,l),"iso-time":t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,y),"iso-date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,v),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},e.formatNames=Object.keys(e.fullFormats);function r(R){return R%4===0&&(R%100!==0||R%400===0)}const o=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,a=[0,31,28,31,30,31,30,31,31,30,31,30,31];function c(R){const U=o.exec(R);if(!U)return!1;const F=+U[1],B=+U[2],ae=+U[3];return B>=1&&B<=12&&ae>=1&&ae<=(B===2&&r(F)?29:a[B])}function i(R,U){if(R&&U)return R>U?1:R<U?-1:0}const u=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function h(R){return function(U){const F=u.exec(U);if(!F)return!1;const B=+F[1],ae=+F[2],se=+F[3],ue=F[4],re=F[5]==="-"?-1:1,de=+(F[6]||0),M=+(F[7]||0);if(de>23||M>59||R&&!ue)return!1;if(B<=23&&ae<=59&&se<60)return!0;const O=ae-M*re,I=B-de*re-(O<0?1:0);return(I===23||I===-1)&&(O===59||O===-1)&&se<61}}function m(R,U){if(!(R&&U))return;const F=new Date("2020-01-01T"+R).valueOf(),B=new Date("2020-01-01T"+U).valueOf();if(F&&B)return F-B}function y(R,U){if(!(R&&U))return;const F=u.exec(R),B=u.exec(U);if(F&&B)return R=F[1]+F[2]+F[3],U=B[1]+B[2]+B[3],R>U?1:R<U?-1:0}const k=/t|\s/i;function b(R){const U=h(R);return function(F){const B=F.split(k);return B.length===2&&c(B[0])&&U(B[1])}}function l(R,U){if(!(R&&U))return;const F=new Date(R).valueOf(),B=new Date(U).valueOf();if(F&&B)return F-B}function v(R,U){if(!(R&&U))return;const[F,B]=R.split(k),[ae,se]=U.split(k),ue=i(F,ae);if(ue!==void 0)return ue||m(B,se)}const E=/\/|:/,f=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function p(R){return E.test(R)&&f.test(R)}const n=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function s(R){return n.lastIndex=0,n.test(R)}const _=-2147483648,g=2**31-1;function w(R){return Number.isInteger(R)&&R<=g&&R>=_}function S(R){return Number.isInteger(R)}function C(){return!0}const q=/[^\\]\\Z/;function L(R){if(q.test(R))return!1;try{return new RegExp(R),!0}catch{return!1}}})(Uo)),Uo}var Ko={},Bo;function Ha(){return Bo||(Bo=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.formatLimitDefinition=void 0;const t=tr(),r=Q(),o=r.operators,a={formatMaximum:{okStr:"<=",ok:o.LTE,fail:o.GT},formatMinimum:{okStr:">=",ok:o.GTE,fail:o.LT},formatExclusiveMaximum:{okStr:"<",ok:o.LT,fail:o.GTE},formatExclusiveMinimum:{okStr:">",ok:o.GT,fail:o.LTE}},c={message:({keyword:u,schemaCode:h})=>(0,r.str)`should be ${a[u].okStr} ${h}`,params:({keyword:u,schemaCode:h})=>(0,r._)`{comparison: ${a[u].okStr}, limit: ${h}}`};e.formatLimitDefinition={keyword:Object.keys(a),type:"string",schemaType:"string",$data:!0,error:c,code(u){const{gen:h,data:m,schemaCode:y,keyword:k,it:b}=u,{opts:l,self:v}=b;if(!l.validateFormats)return;const E=new t.KeywordCxt(b,v.RULES.all.format.definition,"format");E.$data?f():p();function f(){const s=h.scopeValue("formats",{ref:v.formats,code:l.code.formats}),_=h.const("fmt",(0,r._)`${s}[${E.schemaCode}]`);u.fail$data((0,r.or)((0,r._)`typeof ${_} != "object"`,(0,r._)`${_} instanceof RegExp`,(0,r._)`typeof ${_}.compare != "function"`,n(_)))}function p(){const s=E.schema,_=v.formats[s];if(!_||_===!0)return;if(typeof _!="object"||_ instanceof RegExp||typeof _.compare!="function")throw new Error(`"${k}": format "${s}" does not define "compare" function`);const g=h.scopeValue("formats",{key:s,ref:_,code:l.code.formats?(0,r._)`${l.code.formats}${(0,r.getProperty)(s)}`:void 0});u.fail$data(n(g))}function n(s){return(0,r._)`${s}.compare(${m}, ${y}) ${a[k].fail} 0`}},dependencies:["format"]};const i=u=>(u.addKeyword(e.formatLimitDefinition),u);e.default=i})(Ko)),Ko}var Wo;function Ja(){return Wo||(Wo=1,(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const r=Ga(),o=Ha(),a=Q(),c=new a.Name("fullFormats"),i=new a.Name("fastFormats"),u=(m,y={keywords:!0})=>{if(Array.isArray(y))return h(m,y,r.fullFormats,c),m;const[k,b]=y.mode==="fast"?[r.fastFormats,i]:[r.fullFormats,c],l=y.formats||r.formatNames;return h(m,l,k,b),y.keywords&&(0,o.default)(m),m};u.get=(m,y="full")=>{const k=(y==="fast"?r.fastFormats:r.fullFormats)[m];if(!k)throw new Error(`Unknown format "${m}"`);return k};function h(m,y,k,b){var l,v;(l=(v=m.opts.code).formats)!==null&&l!==void 0||(v.formats=(0,a._)`require("ajv-formats/dist/formats").${b}`);for(const E of y)m.addFormat(E,k[E])}e.exports=t=u,Object.defineProperty(t,"__esModule",{value:!0}),t.default=u})(rr,rr.exports)),rr.exports}var Za=Ja();const Qa=et(Za);var or={exports:{}},Go;function Ya(){return Go||(Go=1,(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const r=tr(),o=Q(),a=Be(),c=He(),i=We(),u=Se(),h="errorMessage",m=new r.Name("emUsed"),y={required:"missingProperty",dependencies:"property",dependentRequired:"property"},k=/\$\{[^}]+\}/,b=/\$\{([^}]+)\}/g,l=/^""\s*\+\s*|\s*\+\s*""$/g;function v(f){return{keyword:h,schemaType:["string","object"],post:!0,code(p){const{gen:n,data:s,schema:_,schemaValue:g,it:w}=p;if(w.createErrors===!1)return;const S=_,C=o.strConcat(u.default.instancePath,w.errorPath);n.if(r._`${u.default.errors} > 0`,()=>{if(typeof S=="object"){const[N,d]=L(S);d&&R(d),N&&U(N),F(q(S))}const I=typeof S=="string"?S:S._;I&&B(I),f.keepErrors||ae()});function q({properties:I,items:N}){const d={};if(I){d.props={};for(const P in I)d.props[P]=[]}if(N){d.items={};for(let P=0;P<N.length;P++)d.items[P]=[]}return d}function L(I){let N,d;for(const P in I){if(P==="properties"||P==="items")continue;const T=I[P];if(typeof T=="object"){N||(N={});const D=N[P]={};for(const A in T)D[A]=[]}else d||(d={}),d[P]=[]}return[N,d]}function R(I){const N=n.const("emErrors",r.stringify(I)),d=n.const("templates",de(I,_));n.forOf("err",u.default.vErrors,A=>n.if(se(A,N),()=>n.code(r._`${N}[${A}.keyword].push(${A})`).assign(r._`${A}.${m}`,!0)));const{singleError:P}=f;if(P){const A=n.let("message",r._`""`),K=n.let("paramsErrors",r._`[]`);T(H=>{n.if(A,()=>n.code(r._`${A} += ${typeof P=="string"?P:";"}`)),n.code(r._`${A} += ${D(H)}`),n.assign(K,r._`${K}.concat(${N}[${H}])`)}),i.reportError(p,{message:A,params:r._`{errors: ${K}}`})}else T(A=>i.reportError(p,{message:D(A),params:r._`{errors: ${N}[${A}]}`}));function T(A){n.forIn("key",N,K=>n.if(r._`${N}[${K}].length`,()=>A(K)))}function D(A){return r._`${A} in ${d} ? ${d}[${A}]() : ${g}[${A}]`}}function U(I){const N=n.const("emErrors",r.stringify(I)),d=[];for(const K in I)d.push([K,de(I[K],_[K])]);const P=n.const("templates",n.object(...d)),T=n.scopeValue("obj",{ref:y,code:r.stringify(y)}),D=n.let("emPropParams"),A=n.let("emParamsErrors");n.forOf("err",u.default.vErrors,K=>n.if(se(K,N),()=>{n.assign(D,r._`${T}[${K}.keyword]`),n.assign(A,r._`${N}[${K}.keyword][${K}.params[${D}]]`),n.if(A,()=>n.code(r._`${A}.push(${K})`).assign(r._`${K}.${m}`,!0))})),n.forIn("key",N,K=>n.forIn("keyProp",r._`${N}[${K}]`,H=>{n.assign(A,r._`${N}[${K}][${H}]`),n.if(r._`${A}.length`,()=>{const x=n.const("tmpl",r._`${P}[${K}] && ${P}[${K}][${H}]`);i.reportError(p,{message:r._`${x} ? ${x}() : ${g}[${K}][${H}]`,params:r._`{errors: ${A}}`})})}))}function F(I){const{props:N,items:d}=I;if(!N&&!d)return;const P=r._`typeof ${s} == "object"`,T=r._`Array.isArray(${s})`,D=n.let("emErrors");let A,K;const H=n.let("templates");N&&d?(A=n.let("emChildKwd"),n.if(P),n.if(T,()=>{x(d,_.items),n.assign(A,r.str`items`)},()=>{x(N,_.properties),n.assign(A,r.str`properties`)}),K=r._`[${A}]`):d?(n.if(T),x(d,_.items),K=r._`.items`):N&&(n.if(o.and(P,o.not(T))),x(N,_.properties),K=r._`.properties`),n.forOf("err",u.default.vErrors,j=>ue(j,D,V=>n.code(r._`${D}[${V}].push(${j})`).assign(r._`${j}.${m}`,!0))),n.forIn("key",D,j=>n.if(r._`${D}[${j}].length`,()=>{i.reportError(p,{message:r._`${j} in ${H} ? ${H}[${j}]() : ${g}${K}[${j}]`,params:r._`{errors: ${D}[${j}]}`}),n.assign(r._`${u.default.vErrors}[${u.default.errors}-1].instancePath`,r._`${C} + "/" + ${j}.replace(/~/g, "~0").replace(/\\//g, "~1")`)})),n.endIf();function x(j,V){n.assign(D,r.stringify(j)),n.assign(H,de(j,V))}}function B(I){const N=n.const("emErrs",r._`[]`);n.forOf("err",u.default.vErrors,d=>n.if(re(d),()=>n.code(r._`${N}.push(${d})`).assign(r._`${d}.${m}`,!0))),n.if(r._`${N}.length`,()=>i.reportError(p,{message:M(I),params:r._`{errors: ${N}}`}))}function ae(){const I=n.const("emErrs",r._`[]`);n.forOf("err",u.default.vErrors,N=>n.if(r._`!${N}.${m}`,()=>n.code(r._`${I}.push(${N})`))),n.assign(u.default.vErrors,I).assign(u.default.errors,r._`${I}.length`)}function se(I,N){return o.and(r._`${I}.keyword !== ${h}`,r._`!${I}.${m}`,r._`${I}.instancePath === ${C}`,r._`${I}.keyword in ${N}`,r._`${I}.schemaPath.indexOf(${w.errSchemaPath}) === 0`,r._`/^\\/[^\\/]*$/.test(${I}.schemaPath.slice(${w.errSchemaPath.length}))`)}function ue(I,N,d){n.if(o.and(r._`${I}.keyword !== ${h}`,r._`!${I}.${m}`,r._`${I}.instancePath.indexOf(${C}) === 0`),()=>{const P=n.scopeValue("pattern",{ref:/^\/([^/]*)(?:\/|$)/,code:r._`new RegExp("^\\\/([^/]*)(?:\\\/|$)")`}),T=n.const("emMatches",r._`${P}.exec(${I}.instancePath.slice(${C}.length))`),D=n.const("emChild",r._`${T} && ${T}[1].replace(/~1/g, "/").replace(/~0/g, "~")`);n.if(r._`${D} !== undefined && ${D} in ${N}`,()=>d(D))})}function re(I){return o.and(r._`${I}.keyword !== ${h}`,r._`!${I}.${m}`,o.or(r._`${I}.instancePath === ${C}`,o.and(r._`${I}.instancePath.indexOf(${C}) === 0`,r._`${I}.instancePath[${C}.length] === "/"`)),r._`${I}.schemaPath.indexOf(${w.errSchemaPath}) === 0`,r._`${I}.schemaPath[${w.errSchemaPath}.length] === "/"`)}function de(I,N){const d=[];for(const P in I){const T=N[P];k.test(T)&&d.push([P,O(T)])}return n.object(...d)}function M(I){return k.test(I)?new a._Code(a.safeStringify(I).replace(b,(N,d)=>`" + JSON.stringify(${c.getData(d,w)}) + "`).replace(l,"")):r.stringify(I)}function O(I){return r._`function(){return ${M(I)}}`}},metaSchema:{anyOf:[{type:"string"},{type:"object",properties:{properties:{$ref:"#/$defs/stringMap"},items:{$ref:"#/$defs/stringList"},required:{$ref:"#/$defs/stringOrMap"},dependencies:{$ref:"#/$defs/stringOrMap"}},additionalProperties:{type:"string"}}],$defs:{stringMap:{type:"object",additionalProperties:{type:"string"}},stringOrMap:{anyOf:[{type:"string"},{$ref:"#/$defs/stringMap"}]},stringList:{type:"array",items:{type:"string"}}}}}}const E=(f,p={})=>{if(!f.opts.allErrors)throw new Error("ajv-errors: Ajv option allErrors must be true");if(f.opts.jsPropertySyntax)throw new Error("ajv-errors: ajv option jsPropertySyntax is not supported");return f.addKeyword(v(p))};t.default=E,e.exports=E,e.exports.default=E})(or,or.exports)),or.exports}var Xa=Ya();const es=et(Xa);class ts{constructor(t){Vn(this,"ajv");const{customKeywords:r,customFormats:o,...a}=t||{};this.ajv=new Wa({allErrors:!0,code:{source:!1},coerceTypes:!0,removeAdditional:!1,strict:!1,strictSchema:!1,useDefaults:!0,validateFormats:!0,validateSchema:!1,verbose:!0,...a}),Qa(this.ajv),es(this.ajv),this.addCustomKeywords(r||[]),this.addCustomFormats(o||{})}addCustomKeywords(t){t&&t.forEach(r=>{this.ajv.addKeyword(r)})}addCustomFormats(t){t&&Object.entries(t).forEach(([r,o])=>{o instanceof RegExp?this.ajv.addFormat(r,o):this.ajv.addFormat(r,{validate:o})})}createValidator(t,r){if(r&&!t.$id&&(t.$id=r),t.$id){const o=this.ajv.getSchema(t.$id);if(o)return o}return this.ajv.compile(t)}validate(t,r,o){const a=this.createValidator(r,o?.cacheKey);if(!a(t)){const c=this.formatErrors(a.errors);if(o!=null&&o.throwOnError)throw new lr(c,a.errors||[]);return{valid:!1,errors:a.errors||void 0,errorMessage:c}}return{valid:!0,data:t}}formatErrors(t,r){return!t||t.length===0?"No errors":this.ajv.errorsText(t,{separator:"; ",dataVar:"data",...r})}getDetailedErrors(t){return!t||t.length===0?[]:t.map(r=>({field:r.instancePath||"/",message:r.message||"Validation failed",keyword:r.keyword,params:r.params,schemaPath:r.schemaPath}))}addSchema(t,r){return this.ajv.addSchema(t,r),this}removeSchema(t){return this.ajv.removeSchema(t),this}}class lr extends Error{constructor(t,r){super(t),this.errors=r,this.name="ValidationError",Object.setPrototypeOf(this,lr.prototype)}}const rs=new ts({customKeywords:[{keyword:"x-nrg-skip-validation",schemaType:"boolean",valid:!0},{keyword:"x-nrg-node-type",type:"string",validate:(e,t)=>{if(!t)return!0;const r=RED.nodes.node(t);return!!r&&r.type===e}}],customFormats:{"node-id":/^[a-zA-Z0-9-_]+$/,"flow-id":/^[a-f0-9]{16}$/,"topic-path":e=>/^[a-zA-Z0-9/_-]+$/.test(e)}});function os(e,t){return e&&t!=null&&t.properties?{...e,properties:{...e.properties,credentials:{type:"object",properties:t.properties}}}:e}function Ho(e,t){const r=rs.validate(e,t,{cacheKey:`node-schema-${e.type}`});return r.valid?[]:r.errors??[]}function ns(e,t){const r=Ho(e,t).filter(o=>{var a;if(((a=o.parentSchema)==null?void 0:a.format)!=="password")return!0;if(!e.credentials)return!1;const c=o.instancePath.split("/").pop(),i=pr.get(e,o.instancePath);return!(e.credentials[`has_${c}`]&&(!i||i==="__PWD__"))});return r.length===0?!0:r.map(o=>{var a;let c=o.instancePath;return o.keyword==="required"&&(a=o.params)!=null&&a.missingProperty&&(c=`${c}/${o.params.missingProperty}`),`${c.slice(1)||"root"}: ${o.message??"invalid"}`})}function as(e,t){return Ho(e,t).filter(r=>{var o;return((o=r.parentSchema)==null?void 0:o.format)!=="password"?!0:pr.get(e,r.instancePath)!=="__PWD__"}).reduce((r,o)=>{var a;let c=o.instancePath;o.keyword==="required"&&(a=o.params)!=null&&a.missingProperty&&(c=`${c}/${o.params.missingProperty}`);const i=`node${c.replaceAll("/",".")}`;return r[i]=o.message??"Invalid",r},{})}function ss(e,t,{signal:r,edges:o}={}){let a,c=null;const i=o!=null&&o.includes("leading"),u=o==null||o.includes("trailing"),h=()=>{c!==null&&(e.apply(a,c),a=void 0,c=null)},m=()=>{u&&h(),l()};let y=null;const k=()=>{y!=null&&clearTimeout(y),y=setTimeout(()=>{y=null,m()},t)},b=()=>{y!==null&&(clearTimeout(y),y=null)},l=()=>{b(),a=void 0,c=null},v=()=>{h()},E=function(...f){if(r!=null&&r.aborted)return;a=this,c=f;const p=y==null;k(),i&&p&&h()};return E.schedule=k,E.cancel=l,E.flush=v,r?.addEventListener("abort",l,{once:!0}),E}function is(){}function cs(e){return e==null||typeof e!="object"&&typeof e!="function"}function ls(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function nr(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function ar(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Jo="[object RegExp]",Zo="[object String]",Qo="[object Number]",Yo="[object Boolean]",sr="[object Arguments]",Xo="[object Symbol]",en="[object Date]",tn="[object Map]",rn="[object Set]",on="[object Array]",us="[object Function]",nn="[object ArrayBuffer]",Dt="[object Object]",ds="[object Error]",an="[object DataView]",sn="[object Uint8Array]",cn="[object Uint8ClampedArray]",ln="[object Uint16Array]",un="[object Uint32Array]",fs="[object BigUint64Array]",dn="[object Int8Array]",fn="[object Int16Array]",pn="[object Int32Array]",ps="[object BigInt64Array]",hn="[object Float32Array]",mn="[object Float64Array]";function Le(e,t,r,o=new Map,a=void 0){const c=a?.(e,t,r,o);if(c!==void 0)return c;if(cs(e))return e;if(o.has(e))return o.get(e);if(Array.isArray(e)){const i=new Array(e.length);o.set(e,i);for(let u=0;u<e.length;u++)i[u]=Le(e[u],u,r,o,a);return Object.hasOwn(e,"index")&&(i.index=e.index),Object.hasOwn(e,"input")&&(i.input=e.input),i}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){const i=new RegExp(e.source,e.flags);return i.lastIndex=e.lastIndex,i}if(e instanceof Map){const i=new Map;o.set(e,i);for(const[u,h]of e)i.set(u,Le(h,u,r,o,a));return i}if(e instanceof Set){const i=new Set;o.set(e,i);for(const u of e)i.add(Le(u,void 0,r,o,a));return i}if(typeof Buffer<"u"&&Buffer.isBuffer(e))return e.subarray();if(ls(e)){const i=new(Object.getPrototypeOf(e)).constructor(e.length);o.set(e,i);for(let u=0;u<e.length;u++)i[u]=Le(e[u],u,r,o,a);return i}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){const i=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return o.set(e,i),Oe(i,e,r,o,a),i}if(typeof File<"u"&&e instanceof File){const i=new File([e],e.name,{type:e.type});return o.set(e,i),Oe(i,e,r,o,a),i}if(typeof Blob<"u"&&e instanceof Blob){const i=new Blob([e],{type:e.type});return o.set(e,i),Oe(i,e,r,o,a),i}if(e instanceof Error){const i=structuredClone(e);return o.set(e,i),i.message=e.message,i.name=e.name,i.stack=e.stack,i.cause=e.cause,i.constructor=e.constructor,Oe(i,e,r,o,a),i}if(e instanceof Boolean){const i=new Boolean(e.valueOf());return o.set(e,i),Oe(i,e,r,o,a),i}if(e instanceof Number){const i=new Number(e.valueOf());return o.set(e,i),Oe(i,e,r,o,a),i}if(e instanceof String){const i=new String(e.valueOf());return o.set(e,i),Oe(i,e,r,o,a),i}if(typeof e=="object"&&hs(e)){const i=Object.create(Object.getPrototypeOf(e));return o.set(e,i),Oe(i,e,r,o,a),i}return e}function Oe(e,t,r=e,o,a){const c=[...Object.keys(t),...nr(t)];for(let i=0;i<c.length;i++){const u=c[i],h=Object.getOwnPropertyDescriptor(e,u);(h==null||h.writable)&&(e[u]=Le(t[u],u,r,o,a))}}function hs(e){switch(ar(e)){case sr:case on:case nn:case an:case Yo:case en:case hn:case mn:case dn:case fn:case pn:case tn:case Qo:case Dt:case Jo:case rn:case Zo:case Xo:case sn:case cn:case ln:case un:return!0;default:return!1}}function ms(e){return Le(e,void 0,e,new Map,void 0)}function yn(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function ys(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function vs(e,t,r){return Qe(e,t,void 0,void 0,void 0,void 0,r)}function Qe(e,t,r,o,a,c,i){const u=i(e,t,r,o,a,c);if(u!==void 0)return u;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return e===t;case"number":return e===t||Object.is(e,t);case"function":return e===t;case"object":return Ye(e,t,c,i)}return Ye(e,t,c,i)}function Ye(e,t,r,o){if(Object.is(e,t))return!0;let a=ar(e),c=ar(t);if(a===sr&&(a=Dt),c===sr&&(c=Dt),a!==c)return!1;switch(a){case Zo:return e.toString()===t.toString();case Qo:{const h=e.valueOf(),m=t.valueOf();return ys(h,m)}case Yo:case en:case Xo:return Object.is(e.valueOf(),t.valueOf());case Jo:return e.source===t.source&&e.flags===t.flags;case us:return e===t}r=r??new Map;const i=r.get(e),u=r.get(t);if(i!=null&&u!=null)return i===t;r.set(e,t),r.set(t,e);try{switch(a){case tn:{if(e.size!==t.size)return!1;for(const[h,m]of e.entries())if(!t.has(h)||!Qe(m,t.get(h),h,e,t,r,o))return!1;return!0}case rn:{if(e.size!==t.size)return!1;const h=Array.from(e.values()),m=Array.from(t.values());for(let y=0;y<h.length;y++){const k=h[y],b=m.findIndex(l=>Qe(k,l,void 0,e,t,r,o));if(b===-1)return!1;m.splice(b,1)}return!0}case on:case sn:case cn:case ln:case un:case fs:case dn:case fn:case pn:case ps:case hn:case mn:{if(typeof Buffer<"u"&&Buffer.isBuffer(e)!==Buffer.isBuffer(t)||e.length!==t.length)return!1;for(let h=0;h<e.length;h++)if(!Qe(e[h],t[h],h,e,t,r,o))return!1;return!0}case nn:return e.byteLength!==t.byteLength?!1:Ye(new Uint8Array(e),new Uint8Array(t),r,o);case an:return e.byteLength!==t.byteLength||e.byteOffset!==t.byteOffset?!1:Ye(new Uint8Array(e),new Uint8Array(t),r,o);case ds:return e.name===t.name&&e.message===t.message;case Dt:{if(!(Ye(e.constructor,t.constructor,r,o)||yn(e)&&yn(t)))return!1;const h=[...Object.keys(e),...nr(e)],m=[...Object.keys(t),...nr(t)];if(h.length!==m.length)return!1;for(let y=0;y<h.length;y++){const k=h[y],b=e[k];if(!Object.hasOwn(t,k))return!1;const l=t[k];if(!Qe(b,l,k,e,t,r,o))return!1}return!0}default:return!1}}finally{r.delete(e),r.delete(t)}}function gs(e,t){return vs(e,t,is)}const $s=Pe({name:"NodeRedVueApp",provide(){return{__nrg_form_node:this.localNode,__nrg_form_schema:this.schema,__nrg_form_errors:this.errors}},props:{node:{type:Object,required:!0},schema:{type:Object,required:!0},features:{type:Object,required:!0}},setup(){return{debouncedValidate:Ie(null)}},data(){return{localNode:this.node,errors:{}}},computed:{hasOutputReturnProperties(){var e,t;return((t=(e=this.schema)==null?void 0:e.properties)==null?void 0:t.outputReturnProperties)!==void 0},hasOutputContextModes(){var e,t;return((t=(e=this.schema)==null?void 0:e.properties)==null?void 0:t.outputContextModes)!==void 0},authorContextModeDefaults(){var e,t,r;return((r=(t=(e=this.schema)==null?void 0:e.properties)==null?void 0:t.outputContextModes)==null?void 0:r.default)??{}},hasErrorPort(){var e,t;return((t=(e=this.schema)==null?void 0:e.properties)==null?void 0:t.errorPort)!==void 0},hasCompletePort(){var e,t;return((t=(e=this.schema)==null?void 0:e.properties)==null?void 0:t.completePort)!==void 0},hasStatusPort(){var e,t;return((t=(e=this.schema)==null?void 0:e.properties)==null?void 0:t.statusPort)!==void 0},hasBuiltinPorts(){return this.hasErrorPort||this.hasCompletePort||this.hasStatusPort},showOutputs(){return this.features.hasOutputSchema},showPortsSettings(){return this.features.hasInputSchema||this.showOutputs},outputRows(){const e=(this.localNode.errorPort?1:0)+(this.localNode.completePort?1:0)+(this.localNode.statusPort?1:0),t=typeof this.localNode.outputs=="number"?this.localNode.outputs:null,r=t!==null&&t>=e?t-e:this.features.outputPorts.length;return Array.from({length:r},(o,a)=>{var c;return{index:a,label:((c=this.features.outputPorts[a])==null?void 0:c.label)??`Output ${a}`}})},contextModeOptions(){return[{value:"carry",label:this.resolveLabel("contextModes.modes.carry","carry")},{value:"trace",label:this.resolveLabel("contextModes.modes.trace","trace")},{value:"reset",label:this.resolveLabel("contextModes.modes.reset","reset")}]}},created(){this.debouncedValidate=ss(()=>this.validate(),150)},beforeMount(){var e;if(this.features.hasOutputSchema)for(const t of["validateOutputs","outputContextModes","outputReturnProperties"]){const r=this.localNode[t];this.localNode[t]=r&&typeof r=="object"?{...r}:{}}if((e=this.schema)!=null&&e.properties){for(const[t,r]of Object.entries(this.schema.properties))if(r.type==="array"&&!Array.isArray(this.localNode[t])){const o=this.localNode[t];this.localNode[t]=o?String(o).split(",").filter(Boolean):[]}}this.localNode._def.credentials&&Object.keys(this.localNode._def.credentials).forEach(t=>{this.localNode._def.credentials[t].type==="password"&&this.localNode.credentials[`has_${t}`]&&!this.localNode.credentials[t]&&(this.localNode.credentials[t]="__PWD__")}),this.validate(),this.localNode._def.defaults&&Object.keys(this.localNode._def.defaults).forEach(t=>{this.$watch(()=>this.localNode[t],()=>{var r;(r=this.debouncedValidate)==null||r.call(this)},{deep:!0})}),this.localNode._def.credentials&&Object.keys(this.localNode._def.credentials).forEach(t=>{this.$watch(()=>this.localNode.credentials[t],(r,o)=>{var a;(a=this.debouncedValidate)==null||a.call(this),this.localNode._def.credentials[t].type==="password"&&r!==o&&(this.localNode.credentials[`has_${t}`]=!!r)},{deep:!0})})},beforeUnmount(){var e,t;(t=(e=this.debouncedValidate)==null?void 0:e.cancel)==null||t.call(e),this.localNode._def.credentials&&Object.keys(this.localNode._def.credentials).forEach(r=>{var o,a;this.localNode._def.credentials[r].type==="password"&&(o=this.localNode.credentials)!=null&&o[`has_${r}`]&&((a=this.localNode.credentials)==null?void 0:a[r])==="__PWD__"&&(this.localNode.credentials[r]=void 0)})},methods:{validate(){const e=as(this.localNode,this.schema),t=Object.keys(this.errors);for(let r=0;r<t.length;r++)delete this.errors[t[r]];Object.assign(this.errors,e)},resolveLabel(e,t){const r=this.$i18n(e),o=`${this.localNode.type}.${e}`;return r&&r!==o&&r!==e?r:t},docsUrl(e){return`https://bonsaedev.github.io/nrg${e}`},recalculateOutputs(){var e;let t=((e=this.localNode._def)==null?void 0:e.outputs)??0;this.localNode.errorPort&&t++,this.localNode.completePort&&t++,this.localNode.statusPort&&t++,this.localNode.outputs=t},validateOutputFor(e){var t;return((t=this.localNode.validateOutputs)==null?void 0:t[e])??!1},setValidateOutput(e,t){this.localNode.validateOutputs={...this.localNode.validateOutputs??{},[e]:t}},returnPropertyFor(e){var t;return((t=this.localNode.outputReturnProperties)==null?void 0:t[e])??""},setReturnProperty(e,t){const r={...this.localNode.outputReturnProperties??{}};t.trim()?r[e]=t:delete r[e],this.localNode.outputReturnProperties=r},contextModeEnabled(e){return this.authorContextModeDefaults[e]!==void 0},contextModeFor(e){var t;return((t=this.localNode.outputContextModes)==null?void 0:t[e])??this.authorContextModeDefaults[e]??"carry"},setContextMode(e,t){this.localNode.outputContextModes={...this.localNode.outputContextModes??{},[e]:t}}}}),xe=(e,t)=>{const r=e.__vccOpts||e;for(const[o,a]of t)r[o]=a;return r},bs={style:{width:"100%","padding-bottom":"12px"}},_s={key:0,class:"nrg-section"},ws={class:"nrg-section-title"},Ps={key:0,class:"nrg-subsection"},Es={class:"nrg-subsection-title"},Ss={class:"form-row"},ks={class:"nrg-help"},Ns=["href"],xs={key:1,class:"nrg-subsection"},js={class:"nrg-subsection-title"},Os={class:"nrg-help"},Is=["href"],Ts={class:"nrg-outputs"},Cs={class:"nrg-outputs-index"},Vs={class:"nrg-outputs-flag"},Rs={key:0},Ms={key:1},As={class:"nrg-outputs-index"},qs={class:"nrg-outputs-flag"},zs={key:0},Ls=["value","onInput"],Ds={key:1},Us=["value","disabled","onChange"],Fs=["value"],Ks={key:1,class:"nrg-section nrg-section-lifecycle"},Bs={class:"nrg-section-title"},Ws={class:"nrg-help"},Gs=["href"],Hs={class:"nrg-toggles-grid"},Js={key:0,class:"form-row"},Zs={key:1,class:"form-row"},Qs={key:2,class:"form-row"};function Ys(e,t,r,o,a,c){const i=me("NodeRedNodeForm"),u=me("NodeRedToggle");return G(),J(Ue,null,[te(" 1. Node fields (schema-driven, name first) "),Z("div",bs,[we(i,{node:e.localNode,schema:e.schema,errors:e.errors,style:{width:"100%"}},null,8,["node","schema","errors"])]),te(" 2. Ports Settings "),e.showPortsSettings?(G(),J("div",_s,[Z("div",ws,ne(e.resolveLabel("sections.portsSettings","Ports Settings")),1),te(" Input "),e.features.hasInputSchema?(G(),J("div",Ps,[Z("div",Es,ne(e.resolveLabel("sections.input","Input")),1),Z("div",Ss,[we(u,{modelValue:e.localNode.validateInput,"onUpdate:modelValue":t[0]||(t[0]=h=>e.localNode.validateInput=h),label:e.resolveLabel("toggles.validateInput","Validate Data")},null,8,["modelValue","label"]),Z("div",ks,[Fe(ne(e.resolveLabel("help.validateInput","Validate incoming messages against the input schema before input() runs."))+" ",1),Z("a",{class:"nrg-help-link",href:e.docsUrl("/guide/schemas#input-schema"),target:"_blank",rel:"noopener noreferrer"},ne(e.resolveLabel("help.learnMore","Learn more")),9,Ns)])])])):te("v-if",!0),te(" Outputs "),e.showOutputs&&e.outputRows.length?(G(),J("div",xs,[Z("div",js,ne(e.resolveLabel("sections.outputs","Outputs")),1),Z("div",Os,[Fe(ne(e.resolveLabel("help.outputs","Per-port output settings. Validate Data checks the sent value against the port's schema; Context Mode controls how the incoming message is carried."))+" ",1),Z("a",{class:"nrg-help-link",href:e.docsUrl("/guide/creating-a-node#the-editor-form"),target:"_blank",rel:"noopener noreferrer"},ne(e.resolveLabel("help.learnMore","Learn more")),9,Is)]),Z("table",Ts,[Z("thead",null,[Z("tr",null,[Z("th",Cs,ne(e.resolveLabel("outputs.port","Port")),1),Z("th",null,ne(e.resolveLabel("outputs.label","Label")),1),Z("th",Vs,ne(e.resolveLabel("outputs.validate","Validate Data")),1),e.hasOutputReturnProperties?(G(),J("th",Rs,ne(e.resolveLabel("outputs.returnProperty","Return Property")),1)):te("v-if",!0),e.hasOutputContextModes?(G(),J("th",Ms,ne(e.resolveLabel("outputs.contextMode","Context Mode")),1)):te("v-if",!0)])]),Z("tbody",null,[(G(!0),J(Ue,null,Xe(e.outputRows,h=>(G(),J("tr",{key:h.index},[Z("td",As,ne(h.index),1),Z("td",null,ne(h.label),1),Z("td",qs,[we(u,{"model-value":e.validateOutputFor(h.index),"onUpdate:modelValue":m=>e.setValidateOutput(h.index,m)},null,8,["model-value","onUpdate:modelValue"])]),e.hasOutputReturnProperties?(G(),J("td",zs,[Z("input",{type:"text",class:"nrg-outputs-return",placeholder:"output",value:e.returnPropertyFor(h.index),onInput:m=>e.setReturnProperty(h.index,m.target.value)},null,40,Ls)])):te("v-if",!0),e.hasOutputContextModes?(G(),J("td",Ds,[Z("select",{class:"nrg-outputs-context",value:e.contextModeFor(h.index),disabled:!e.contextModeEnabled(h.index),onChange:m=>e.setContextMode(h.index,m.target.value)},[(G(!0),J(Ue,null,Xe(e.contextModeOptions,m=>(G(),J("option",{key:m.value,value:m.value},ne(m.label),9,Fs))),128))],40,Us)])):te("v-if",!0)]))),128))])])])):te("v-if",!0)])):te("v-if",!0),te(" 3. Lifecycle Ports \u2014 its own section, after Ports Settings "),e.hasBuiltinPorts?(G(),J("div",Ks,[Z("div",Bs,ne(e.resolveLabel("sections.lifecyclePorts","Lifecycle Ports")),1),Z("div",Ws,[Fe(ne(e.resolveLabel("help.lifecyclePorts","Optional extra output ports that fire on error, on completion, and on every status change."))+" ",1),Z("a",{class:"nrg-help-link",href:e.docsUrl("/guide/creating-a-node#emit-ports"),target:"_blank",rel:"noopener noreferrer"},ne(e.resolveLabel("help.learnMore","Learn more")),9,Gs)]),Z("div",Hs,[e.hasErrorPort?(G(),J("div",Js,[we(u,{"model-value":e.localNode.errorPort,label:e.resolveLabel("toggles.errorPort","Error Port"),"onUpdate:modelValue":t[1]||(t[1]=h=>{e.localNode.errorPort=h,e.recalculateOutputs()})},null,8,["model-value","label"])])):te("v-if",!0),e.hasCompletePort?(G(),J("div",Zs,[we(u,{"model-value":e.localNode.completePort,label:e.resolveLabel("toggles.completePort","Complete Port"),"onUpdate:modelValue":t[2]||(t[2]=h=>{e.localNode.completePort=h,e.recalculateOutputs()})},null,8,["model-value","label"])])):te("v-if",!0),e.hasStatusPort?(G(),J("div",Qs,[we(u,{"model-value":e.localNode.statusPort,label:e.resolveLabel("toggles.statusPort","Status Port"),"onUpdate:modelValue":t[3]||(t[3]=h=>{e.localNode.statusPort=h,e.recalculateOutputs()})},null,8,["model-value","label"])])):te("v-if",!0)])])):te("v-if",!0)],64)}const Xs=xe($s,[["render",Ys],["__scopeId","data-v-87ada69a"]]),ei=Pe({name:"NodeRedInputLabel",props:{label:{type:String,default:""},icon:{type:String,default:""},required:{type:Boolean,default:!1}},computed:{iconClass(){return this.icon?`fa ${this.icon.startsWith("fa-")?this.icon:`fa-${this.icon}`}`:""}}}),ti={class:"nrg-label"},ri={key:1,class:"nrg-required"};function oi(e,t,r,o,a,c){return G(),J("span",ti,[e.icon?(G(),J("i",{key:0,class:Wt(e.iconClass)},null,2)):te("v-if",!0),Te(e.$slots,"default",{},()=>[Fe(ne(e.label),1)],!0),e.required?(G(),J("span",ri,"*")):te("v-if",!0)])}const Re=xe(ei,[["render",oi],["__scopeId","data-v-864b02f2"]]),vn="*************",ni=Pe({components:{NodeRedInputLabel:Re},props:{modelValue:{type:[String,Number],default:void 0},value:{type:[String,Number],default:""},type:{type:String,default:"text"},placeholder:{type:String,default:""},label:{type:String,default:""},icon:{type:String,default:""},required:{type:Boolean,default:!1},error:{type:String,default:""}},emits:["update:modelValue","update:value","input"],data(){return{internalValue:""}},computed:{effectiveValue(){return this.modelValue!==void 0?this.modelValue:this.value}},beforeMount(){this.internalValue=this.effectiveValue,this.onBlur()},methods:{onInput(e){this.internalValue=e.target.value,this.$emit("update:modelValue",this.internalValue),this.$emit("update:value",this.internalValue),this.$emit("input",this.internalValue)},onFocus(){this.type==="password"&&this.internalValue===vn&&(this.internalValue="")},onBlur(){this.type==="password"&&this.effectiveValue==="__PWD__"&&(this.internalValue=vn)}}}),ai={style:{display:"flex","flex-direction":"column",width:"100%"}},si=["type","value","placeholder"],ii={key:0,class:"node-red-vue-input-error-message"};function ci(e,t,r,o,a,c){const i=me("NodeRedInputLabel");return G(),J("div",ai,[Te(e.$slots,"label",{},()=>[e.label?(G(),$e(i,{key:0,label:e.label,icon:e.icon,required:e.required},null,8,["label","icon","required"])):te("v-if",!0)]),Z("input",{ref:"inputField",type:e.type,value:e.internalValue,placeholder:e.placeholder,style:{width:"100%"},onInput:t[0]||(t[0]=(...u)=>e.onInput&&e.onInput(...u)),onFocus:t[1]||(t[1]=(...u)=>e.onFocus&&e.onFocus(...u)),onBlur:t[2]||(t[2]=(...u)=>e.onBlur&&e.onBlur(...u))},null,40,si),e.error?(G(),J("div",ii,ne(e.error),1)):te("v-if",!0)])}const gn=xe(ni,[["render",ci]]),li=["msg","flow","global","str","num","bool","json","bin","re","jsonata","date","env","node","cred"],ui=["errorPort","completePort","statusPort"],di=Pe({components:{NodeRedInputLabel:Re},props:{modelValue:{type:Object,default:void 0,validator:function(e){if(e===void 0)return!0;if(typeof e!="object"||e===null)return console.warn("[WARN] Invalid modelValue for TypedInput. It must be an object."),!1;const t=typeof e.value=="string"&&typeof e.type=="string";return t||console.warn("[WARN] Invalid modelValue for TypedInput. It must be an object with 'value' and 'type' properties being strings.",e),t}},value:{type:Object,default:void 0,validator:function(e){if(e===void 0)return!0;if(typeof e!="object"||e===null)return console.warn("[WARN] Invalid value for TypedInput. It must be an object."),!1;const t=typeof e.value=="string"&&typeof e.type=="string";return t||console.warn("[WARN] Invalid value for TypedInput. It must be an object with 'value' and 'type' properties being strings.",e),t}},types:{type:Array,default:()=>li},label:{type:String,default:""},icon:{type:String,default:""},required:{type:Boolean,default:!1},error:{type:String,default:""}},emits:["update:modelValue","update:value"],setup(){return{inputWidget:Ie(null),mutationObserver:Ie(null)}},computed:{effectiveValue(){return this.modelValue!==void 0?this.modelValue:this.value},isProvidedValueTypeValid(){const e=this.effectiveValue.type;return this.types.includes(e)}},watch:{isProvidedValueTypeValid:{handler(e){e||console.warn(`Validation failed: type (${this.effectiveValue.type}) must be one of the provided types (${this.types}).`)},immediate:!0},error(e){this.$nextTick(()=>{const t=this.$el.querySelector(".red-ui-typedInput-container");t&&(e?t.classList.add("input-error"):t.classList.remove("input-error"))})}},mounted(){const e=this.$refs.typedInput;this.inputWidget=$(e),this.inputWidget.typedInput({default:this.effectiveValue.type||this.types[0],types:this.types}),this.inputWidget.typedInput("value",this.effectiveValue.value||""),this.inputWidget.typedInput("type",this.effectiveValue.type||this.types[0]),this.$nextTick(()=>{const t=new MutationObserver(r=>{for(const o of r)o.attributeName==="value"&&this.onChange()});t.observe(e,{attributes:!0,attributeFilter:["value"]}),this.mutationObserver=t}),this.inputWidget.on("change",()=>{this.onChange()})},beforeUnmount(){this.mutationObserver&&(this.mutationObserver.disconnect(),this.mutationObserver=null)},methods:{onChange(){const e=this.inputWidget.typedInput("value"),t=this.inputWidget.typedInput("type");if(this.effectiveValue.value!==e||this.effectiveValue.type!==t){const r={value:e,type:t};this.$emit("update:modelValue",r),this.$emit("update:value",r)}}}}),fi={style:{display:"flex","flex-direction":"column",width:"100%"}},pi={ref:"typedInput",type:"text",class:"node-red-typed-input",style:{flex:"1",width:"100%"}},hi={key:0,class:"node-red-vue-input-error-message"};function mi(e,t,r,o,a,c){const i=me("NodeRedInputLabel");return G(),J("div",fi,[Te(e.$slots,"label",{},()=>[e.label?(G(),$e(i,{key:0,label:e.label,icon:e.icon,required:e.required},null,8,["label","icon","required"])):te("v-if",!0)]),Z("input",pi,null,512),e.error?(G(),J("div",hi,ne(e.error),1)):te("v-if",!0)])}const $n=xe(di,[["render",mi]]),yi=Pe({components:{NodeRedInputLabel:Re},props:{modelValue:{type:String,default:void 0},value:{type:String,default:""},type:{type:String,required:!0},node:{type:Object,required:!0},propName:{type:String,required:!0},label:{type:String,default:""},icon:{type:String,default:""},required:{type:Boolean,default:!1},error:{type:String,default:""}},emits:["update:modelValue","update:value"],setup(){return{jqInput:Ie(null)}},computed:{inputId(){return"node-input-"+this.propName},effectiveValue(){return this.modelValue!==void 0?this.modelValue:this.value}},mounted(){RED.editor.prepareConfigNodeSelect(this.node,this.propName,this.type,"node-input");const e=$("#"+this.inputId);this.jqInput=e,e.on("change",()=>{const t=e.val(),r=t==="_ADD_"?"":t;this.$emit("update:modelValue",r),this.$emit("update:value",r)}),e.val(this.effectiveValue||"_ADD_")},beforeUnmount(){this.jqInput&&(this.jqInput.off("change"),this.jqInput=null)}}),vi={style:{display:"flex","flex-direction":"column",width:"100%"}},gi=["id"],$i={key:0,class:"node-red-vue-input-error-message"};function bi(e,t,r,o,a,c){const i=me("NodeRedInputLabel");return G(),J("div",vi,[Te(e.$slots,"label",{},()=>[e.label?(G(),$e(i,{key:0,label:e.label,icon:e.icon,required:e.required},null,8,["label","icon","required"])):te("v-if",!0)]),Z("input",{id:e.inputId,type:"text",style:{width:"100%"}},null,8,gi),e.error?(G(),J("div",$i,ne(e.error),1)):te("v-if",!0)])}const bn=xe(yi,[["render",bi]]),_i=Pe({components:{NodeRedInputLabel:Re},props:{modelValue:{type:[String,Array],default:void 0},value:{type:[String,Array],default:()=>""},options:{type:Array,required:!0,validator:function(e){if(!Array.isArray(e))return console.warn("[WARN] Invalid value for 'options' property. It must be an array."),!1;const t=e.every(r=>typeof r=="object"&&r!==null&&typeof r.value=="string"&&typeof r.label=="string"&&Object.prototype.hasOwnProperty.call(r,"value")&&Object.prototype.hasOwnProperty.call(r,"label"));return t||console.warn("[WARN] Invalid value for 'options' property. Each item must be an object with 'value' and 'label' properties being strings.",e),t}},multiple:{type:Boolean,default:!1},label:{type:String,default:""},icon:{type:String,default:""},required:{type:Boolean,default:!1},error:{type:String,default:""}},emits:["update:modelValue","update:value"],setup(){return{selectWidget:Ie(null)}},computed:{effectiveValue(){return this.modelValue!==void 0?this.modelValue:this.value}},mounted(){const e=this.$refs.selectInput,t=$(e);this.selectWidget=t,t.typedInput({types:[{multiple:this.multiple,options:this.options}]}),t.typedInput("value",Array.isArray(this.effectiveValue)?this.effectiveValue.join(","):this.effectiveValue),t.on("change",()=>{var r;const o=this.multiple?((r=t.typedInput("value"))==null?void 0:r.split(",").filter(Boolean))??[]:t.typedInput("value");this.$emit("update:modelValue",o),this.$emit("update:value",o)})},beforeUnmount(){this.selectWidget&&(this.selectWidget.off("change"),this.selectWidget=null)}}),wi={style:{display:"flex","flex-direction":"column",width:"100%"}},Pi={ref:"selectInput",type:"text",class:"node-input-select",style:{width:"100%"}},Ei={key:0,class:"node-red-vue-input-error-message"};function Si(e,t,r,o,a,c){const i=me("NodeRedInputLabel");return G(),J("div",wi,[Te(e.$slots,"label",{},()=>[e.label?(G(),$e(i,{key:0,label:e.label,icon:e.icon,required:e.required},null,8,["label","icon","required"])):te("v-if",!0)]),Z("input",Pi,null,512),e.error?(G(),J("div",Ei,ne(e.error),1)):te("v-if",!0)])}const _n=xe(_i,[["render",Si]]),ki=Pe({components:{NodeRedInputLabel:Re},props:{modelValue:{type:String,default:void 0},value:{type:String,default:""},language:{type:String,default:"json",validator:function(e){const t=["abap","apex","azcli","bat","bicep","cameligo","clojure","coffee","cpp","csharp","csp","css","cypher","dart","dockerfile","ecl","elixir","flow9","freemarker2","fsharp","go","graphql","handlebars","hcl","html","ini","java","javascript","json","julia","kotlin","less","lexon","liquid","lua","m3","markdown","mdx","mips","msdax","mysql","objective-c","pascal","pascaligo","perl","pgsql","php","pla","postiats","powerquery","powershell","protobuf","pub","python","qsharp","r","razor","redis","redshift","restructuredtext","ruby","rust","sb","scala","scheme","scss","shell","solidity","sophia","sparql","sql","st","swift","systemverilog","tcl","twig","typescript","typespec","vb","wgsl","xml","yaml"],r=t.includes(e);return r||console.warn(`[WARN]: Invalid value for 'type' property: "${e}". Expected one of: ${t.join(", ")}`),r}},label:{type:String,default:""},icon:{type:String,default:""},required:{type:Boolean,default:!1},error:{type:String,default:""}},emits:["update:modelValue","update:value","editor-ready","tray-open","tray-close"],setup(){return{editorInstance:Ie(null),expandedEditorTray:Ie(null)}},data(){const e=Math.random().toString(36).substring(2,9);return{editorId:"node-red-editor-"+e,stateId:e,trayElement:null}},computed:{effectiveValue(){return this.modelValue!==void 0?this.modelValue:this.value}},mounted(){const e=$(this.$refs["expand-button"]);RED.popover.tooltip(e,RED._("node-red:common.label.expand")),this.mountEditor(),this.createExpandeEditorTray()},beforeUnmount(){if(this.editorInstance){try{this.editorInstance.destroy()}catch(e){console.error(`Error destroying editor for ID ${this.editorId}:`,e)}this.editorInstance=null}},methods:{mountEditor(){this.$nextTick(()=>{const e=this.$refs.container,t=this.$refs.editor;if(e&&t)try{const r=e.style.height,o=e.style.width;r?t.style.height=r:t.style.height="200px",o?t.style.width=o:t.style.width="100%",this.createEditorInstance()}catch(r){console.error("[NodeRedEditorInput] Error setting initial editor style:",r),this.createEditorInstance()}else console.error("[NodeRedEditorInput] Container or Editor div refs not found on mount.")})},createEditorInstance(){this.editorInstance=RED.editor.createEditor({id:this.editorId,mode:this.language,value:this.effectiveValue}),this.editorInstance.getSession().on("change",()=>{const e=this.editorInstance.getValue();e!==this.effectiveValue&&(this.$emit("update:modelValue",e),this.$emit("update:value",e))}),this.$emit("editor-ready",this.editorInstance)},createExpandeEditorTray(){let e;const t=()=>{setTimeout(()=>{var o;(o=this.editorInstance)==null||o.focus()},250),RED.tray.close()},r=()=>{var o;e.saveView(),(o=this.editorInstance)==null||o.setValue(e.getValue(),-1),setTimeout(()=>{var a,c;(a=this.editorInstance)==null||a.restoreView(),(c=this.editorInstance)==null||c.focus()},250),RED.tray.close()};this.expandedEditorTray={title:"Editor",focusElement:!0,width:"Infinity",buttons:[{id:"node-dialog-cancel",text:RED._("common.label.cancel"),click:t},{id:"node-dialog-ok",text:RED._("common.label.done"),class:"primary",click:r}],open:o=>{const a=$('<form id="dialog-form" class="form-horizontal" autocomplete="off"></form>').appendTo(o.find(".red-ui-tray-body"));a.html('<div id="expanded-editor-input" style="height: 100%"></div>'),e=RED.editor.createEditor({id:"expanded-editor-input",stateId:this.stateId,mode:this.language,focus:!0,value:this.effectiveValue}),a.i18n();const c=o.find(".red-ui-tray-body")[0],i=document.createElement("div");i.className="red-ui-tray-footer",c.insertAdjacentElement("afterend",i),this.trayElement=i,this.$emit("tray-open",this.trayElement)},close:()=>{this.$emit("tray-close"),this.trayElement&&(this.trayElement.remove(),this.trayElement=null),e.destroy()}}},onClickExpand(){RED.tray.show(this.expandedEditorTray)}}}),Ni={ref:"container",class:"container"},xi={class:"editor-wrapper"},ji=["id"];function Oi(e,t,r,o,a,c){const i=me("NodeRedInputLabel");return G(),J("div",Ni,[Te(e.$slots,"label",{},()=>[e.label?(G(),$e(i,{key:0,label:e.label,icon:e.icon,required:e.required},null,8,["label","icon","required"])):te("v-if",!0)],!0),Z("div",xi,[Z("button",{ref:"expand-button",class:"red-ui-button red-ui-button-small expand-button",onClick:t[0]||(t[0]=(...u)=>e.onClickExpand&&e.onClickExpand(...u))},[...t[1]||(t[1]=[Z("i",{class:"fa fa-expand"},null,-1)])],512),Z("div",{id:e.editorId,ref:"editor"},null,8,ji)]),Rn(Z("div",{class:"node-red-vue-input-error-message"},ne(e.error),513),[[Mn,e.error]]),e.trayElement?(G(),$e(An,{key:0,to:e.trayElement},[Te(e.$slots,"tray-footer",{},void 0,!0)],8,["to"])):te("v-if",!0)],512)}const wn=xe(ki,[["render",Oi],["__scopeId","data-v-ea93e881"]]),Ii=Pe({name:"NodeRedToggle",props:{modelValue:{type:Boolean,default:!1},label:{type:String,default:""},icon:{type:String,default:""}},emits:["update:modelValue"],computed:{iconClass(){return this.icon?`fa ${this.icon.startsWith("fa-")?this.icon:`fa-${this.icon}`}`:""}}}),Ti={class:"nrg-toggle-wrapper"},Ci=["checked"],Vi={key:0,class:"nrg-toggle__label"};function Ri(e,t,r,o,a,c){return G(),J("div",Ti,[Z("label",{class:Wt(["nrg-toggle",{"nrg-toggle--checked":e.modelValue}])},[Z("input",{type:"checkbox",checked:e.modelValue,class:"nrg-toggle__input",onChange:t[0]||(t[0]=i=>e.$emit("update:modelValue",i.target.checked))},null,40,Ci),e.icon||e.label?(G(),J("span",Vi,[e.icon?(G(),J("i",{key:0,class:Wt(e.iconClass)},null,2)):te("v-if",!0),Fe(" "+ne(e.label),1)])):te("v-if",!0),t[1]||(t[1]=Z("span",{class:"nrg-toggle__slider"},null,-1))],2)])}const Pn=xe(Ii,[["render",Ri],["__scopeId","data-v-724dcae4"]]),Mi=new Set(["id","type","x","y","z","g","wires","credentials","_users","validateInput","validateOutputs","outputs","outputContextModes","outputReturnProperties",...ui]);function Ai(e){return e.replace(/([A-Z])/g," $1").replace(/^./,t=>t.toUpperCase()).trim()}function qi(e){var t,r;return e.type==="object"&&!!((t=e.properties)!=null&&t.value)&&!!((r=e.properties)!=null&&r.type)}function En(e,t,r,o){var a;const c=o||t.title||Ai(e),i=t["x-nrg-form"]??{},u=i.icon||"";if(t["x-nrg-node-type"])return{key:e,label:c,icon:u,inputType:"config",required:r,configType:t["x-nrg-node-type"]};if(qi(t))return{key:e,label:c,icon:u,inputType:"typed",required:r,types:i.typedInputTypes};if(t.type==="array"&&(a=t.items)!=null&&a.enum)return{key:e,label:c,icon:u,inputType:"select",required:r,multiple:!0,options:t.items.enum.map(h=>({value:String(h),label:String(h)}))};if(t.enum)return{key:e,label:c,icon:u,inputType:"select",required:r,multiple:!1,options:t.enum.map(h=>({value:String(h),label:String(h)}))};if(t.anyOf&&t.anyOf.every(h=>h.const!==void 0))return{key:e,label:c,icon:u,inputType:"select",required:r,multiple:!1,options:t.anyOf.map(h=>({value:String(h.const),label:String(h.const)}))};switch(Array.isArray(t.type)?t.type[0]:t.type){case"boolean":return{key:e,label:c,icon:u,inputType:"boolean",required:r,toggle:i.toggle};case"number":case"integer":return{key:e,label:c,icon:u,inputType:"number",required:r,htmlType:"number"};case"array":return i.editorLanguage?{key:e,label:c,icon:u,inputType:"editor",required:r,language:i.editorLanguage}:{key:e,label:c,icon:u,inputType:"array-text",required:r};case"object":return i.editorLanguage?{key:e,label:c,icon:u,inputType:"editor",required:r,language:i.editorLanguage}:{key:e,label:c,icon:u,inputType:"text",required:r,htmlType:"text"};default:return i.editorLanguage?{key:e,label:c,icon:u,inputType:"editor",required:r,language:i.editorLanguage}:{key:e,label:c,icon:u,inputType:"text",required:r,htmlType:t.format==="password"?"password":"text"}}}const zi=Pe({name:"NodeRedJsonSchemaForm",components:{NodeRedInputLabel:Re,NodeRedToggle:Pn,NodeRedInput:gn,NodeRedSelectInput:_n,NodeRedTypedInput:$n,NodeRedConfigInput:bn,NodeRedEditorInput:wn},props:{node:{type:Object,required:!0},schema:{type:Object,required:!0},errors:{type:Object,default:()=>({})}},computed:{configFields(){var e;if(!((e=this.schema)!=null&&e.properties))return[];const t=new Set(this.schema.required??[]);return Object.entries(this.schema.properties).filter(([r])=>!Mi.has(r)).map(([r,o])=>En(r,o,t.has(r),this.resolveI18n("configs",r)))},credentialFields(){var e,t;const r=(t=(e=this.schema)==null?void 0:e.properties)==null?void 0:t.credentials;if(!(r!=null&&r.properties))return[];const o=new Set(r.required??[]);return Object.entries(r.properties).map(([a,c])=>{const i=En(a,c,o.has(a),this.resolveI18n("credentials",a));return i.inputType!=="text"?{...i,inputType:"text",htmlType:c.format==="password"?"password":"text"}:i})}},methods:{resolveI18n(e,t){const r=this.$i18n(`${e}.${t}`),o=`${this.node.type}.${e}.${t}`;if(r&&r!==o&&r!==`${e}.${t}`)return r}}}),Li={key:1},Di={key:2},Ui=["checked","onChange"],Fi={key:6},Ki=["value","onInput"],Bi={key:0,class:"node-red-vue-input-error-message"};function Wi(e,t,r,o,a,c){const i=me("NodeRedInput"),u=me("NodeRedToggle"),h=me("NodeRedInputLabel"),m=me("NodeRedSelectInput"),y=me("NodeRedTypedInput"),k=me("NodeRedConfigInput"),b=me("NodeRedEditorInput");return G(),J("div",null,[(G(!0),J(Ue,null,Xe(e.configFields,l=>(G(),J("div",{key:l.key,class:"form-row"},[l.inputType==="text"||l.inputType==="number"?(G(),$e(i,{key:0,value:e.node[l.key],"onUpdate:value":v=>e.node[l.key]=v,type:l.htmlType,label:l.label,icon:l.icon,required:l.required,error:e.errors[`node.${l.key}`]},null,8,["value","onUpdate:value","type","label","icon","required","error"])):l.inputType==="boolean"&&l.toggle?(G(),J("div",Li,[we(u,{"model-value":e.node[l.key],label:l.label,icon:l.icon,"onUpdate:modelValue":v=>e.node[l.key]=v},null,8,["model-value","label","icon","onUpdate:modelValue"])])):l.inputType==="boolean"?(G(),J("div",Di,[we(h,{label:l.label,icon:l.icon,required:l.required},null,8,["label","icon","required"]),Z("input",{type:"checkbox",checked:e.node[l.key],style:{width:"auto",margin:"0"},onChange:v=>{e.node[l.key]=v.target.checked}},null,40,Ui)])):l.inputType==="select"?(G(),$e(m,{key:3,value:e.node[l.key],"onUpdate:value":v=>e.node[l.key]=v,options:l.options,multiple:l.multiple,label:l.label,icon:l.icon,required:l.required,error:e.errors[`node.${l.key}`]},null,8,["value","onUpdate:value","options","multiple","label","icon","required","error"])):l.inputType==="typed"?(G(),$e(y,{key:4,value:e.node[l.key],"onUpdate:value":v=>e.node[l.key]=v,types:l.types,label:l.label,icon:l.icon,required:l.required,error:e.errors[`node.${l.key}`]},null,8,["value","onUpdate:value","types","label","icon","required","error"])):l.inputType==="config"?(G(),$e(k,{key:5,value:e.node[l.key],"onUpdate:value":v=>e.node[l.key]=v,type:l.configType,node:e.node,"prop-name":l.key,label:l.label,icon:l.icon,required:l.required,error:e.errors[`node.${l.key}`]},null,8,["value","onUpdate:value","type","node","prop-name","label","icon","required","error"])):l.inputType==="array-text"?(G(),J("div",Fi,[we(h,{label:l.label,icon:l.icon,required:l.required},null,8,["label","icon","required"]),t[0]||(t[0]=Z("span",{style:{display:"block","font-size":"11px",color:"var(--red-ui-text-color-disabled, #999)","margin-bottom":"4px"}}," One entry per line ",-1)),Z("textarea",{value:Array.isArray(e.node[l.key])?e.node[l.key].join(`
9
+ `):e.node[l.key]??"",rows:"4",style:{width:"100%",resize:"vertical","font-family":"monospace","font-size":"13px"},onInput:v=>e.node[l.key]=v.target.value.split(`
10
+ `).filter(Boolean)},null,40,Ki),e.errors[`node.${l.key}`]?(G(),J("span",Bi,ne(e.errors[`node.${l.key}`]),1)):te("v-if",!0)])):l.inputType==="editor"?(G(),$e(b,{key:7,value:e.node[l.key],"onUpdate:value":v=>e.node[l.key]=v,language:l.language,label:l.label,icon:l.icon,required:l.required,error:e.errors[`node.${l.key}`]},null,8,["value","onUpdate:value","language","label","icon","required","error"])):te("v-if",!0)]))),128)),(G(!0),J(Ue,null,Xe(e.credentialFields,l=>(G(),J("div",{key:`cred-${l.key}`,class:"form-row"},[we(i,{value:e.node.credentials[l.key],"onUpdate:value":v=>e.node.credentials[l.key]=v,type:l.htmlType,label:l.label,icon:l.icon,required:l.required,error:e.errors[`node.credentials.${l.key}`]},null,8,["value","onUpdate:value","type","label","icon","required","error"])]))),128))])}const Sn=xe(zi,[["render",Wi]]);function Gi(e,t,r,o){const a=qn(Xs,{node:e,schema:r,features:o});return a.component("NodeRedInputLabel",Re),a.component("NodeRedToggle",Pn),a.component("NodeRedInput",gn),a.component("NodeRedTypedInput",$n),a.component("NodeRedConfigInput",bn),a.component("NodeRedSelectInput",_n),a.component("NodeRedEditorInput",wn),a.component("NodeRedJsonSchemaForm",Sn),a.component("NodeRedNodeForm",t?.component??Sn),a.config.globalProperties.$i18n=c=>e._(`${e.type}.${c}`),a}function Hi(e,t,r,o,a){$(`#${a}`).empty(),e._newState=ms(e),e._app=Gi(e._newState,t,r,o),e._app.mount(`#${a}`)}function ir(e){e._app&&(e._app.unmount(),e._app=null)}function kn(e){const t={credentials:{}};return Object.keys(e._def.defaults??{}).forEach(r=>{t[r]=e[r]}),e._def.credentials&&Object.keys(e._def.credentials).forEach(r=>{var o,a;t.credentials[r]=(o=e.credentials)==null?void 0:o[r],e._def.credentials[r].type==="password"&&(t.credentials[`has_${r}`]=((a=e.credentials)==null?void 0:a[`has_${r}`])||!1)}),t}function Nn(e,t){const r={};return new Set([...Object.keys(e),...Object.keys(t??{})]).forEach(o=>{const a=e[o],c=(t??{})[o];if(!Array.isArray(a)&&typeof a=="object"&&a!==null){const i=Nn(a,c);Object.keys(i).length&&(r[o]=i)}else gs(a,c)||(r[o]=a)}),r}function xn(e,t){for(const r of Object.keys(t)){const o=t[r];Array.isArray(o)?e[r]=[...o]:o!==null&&typeof o=="object"?((!e[r]||typeof e[r]!="object"||Array.isArray(e[r]))&&(e[r]={}),xn(e[r],o)):e[r]=o}}function Ut(e,...t){for(const r of t){const o=e._(r);if(o&&o!==r)return o}}function Ji(e){return function(){return this.name?this.name:Ut(this,`${e}.label`)??e}}function Zi(e){return function(){return Ut(this,`${e}.paletteLabel`,`${e}.label`)??e}}function Qi(e){return function(t){return Ut(this,`${e}.inputLabels.${t}`,`${e}.inputLabels`)}}function Yi(e,t,r,o){return function(a){if(t&&a<t.length)return t[a];if(r){let c=o;if(this.errorPort){if(a===c)return"Error";c++}if(this.completePort){if(a===c)return"Complete";c++}if(this.statusPort){if(a===c)return"Status";c++}}return Ut(this,`${e}.outputLabels.${a}`,`${e}.outputLabels`)}}const jn={},cr={};function Xi(e){Object.assign(jn,e)}function ec(e){Object.assign(cr,e)}function tc(e){return e}function rc(e){Object.keys(e._def.defaults??{}).forEach(t=>{var r,o;if(!((o=(r=e._def.defaults)==null?void 0:r[t])!=null&&o.type))return;const a=e[t],c=e._newState[t];if(a===c)return;const i=RED.nodes.node(a);if(i&&i._def.category==="config"){const u=i.users.findIndex(h=>h.id===e.id);u!==-1&&i.users.splice(u,1)}}),Object.keys(e._def.defaults??{}).forEach(t=>{var r,o;if(!((o=(r=e._def.defaults)==null?void 0:r[t])!=null&&o.type))return;const a=e._newState[t];if(!a)return;const c=RED.nodes.node(a);c&&c._def.category==="config"&&c.users.findIndex(i=>i.id===e.id)===-1&&c.users.push(e)})}function oc(e,t,r){Object.keys(e._def.defaults??{}).forEach(o=>{if(e._def.defaults[o].type)return;const a=`node-config-input-${o}`;let c=$(`#${a}`);c.length||(c=$("<input>",{type:"hidden",id:a}),$(`#${r}`).append(c)),c.val(t[o]??"")})}function nc(e,t){var r,o,a;const c="errorPort"in e||"completePort"in e||"statusPort"in e;if(c&&!("outputs"in e)){let i=t;(r=e.errorPort)!=null&&r.value&&i++,(o=e.completePort)!=null&&o.value&&i++,(a=e.statusPort)!=null&&a.value&&i++,e.outputs={value:i}}return{hasBuiltinPorts:c,baseOutputs:t}}function ac(e,t){const r=e??[],o=[];for(let a=0;a<t;a++)o.push({index:a,label:r[a]??`Output ${a}`});return o}async function On(e){const{type:t}=e;try{let r=function(){const v=e.form??(cr[t]?{component:cr[t]}:void 0),E={hasInputSchema:!!i.inputSchema,hasOutputSchema:!!i.outputsSchema,outputPorts:l};Hi(this,v,y,E,m)},o=function(){var v;const E=this;ir(E);const f=kn(E._newState),p=kn(E),n=Nn(p,f),s=!!((v=Object.keys(n))!=null&&v.length);if(!s)return!1;if(rc(E),xn(E,f),e.category==="config"){oc(E,f,m);return}return{changed:s,history:[{t:"edit",node:E,changes:n,links:[],dirty:RED.nodes.dirty(),changed:s}]}},a=function(){ir(this)},c=function(){ir(this)};const i={...jn[t]??{},...e},u=i.defaults?{...i.defaults}:void 0,h=i.credentials??void 0,m=`nrg-app-${t}`;$("<script>",{type:"text/html","data-template-name":t,html:`<div id="${m}"></div>`}).appendTo("body");const y=os(i.configSchema,i.credentialsSchema);let k=!1,b=i.outputs||0;u&&({hasBuiltinPorts:k,baseOutputs:b}=nc(u,b));const l=ac(i.outputPortNames,b);if(y&&u){const v=Object.keys(u)[0];if(v){const{required:E,...f}=u[v];u[v]={...f,validate:function(p,n){return ns(this,y)}}}}RED.nodes.registerType(t,{type:t,defaults:u,credentials:h,category:i.category,color:i.color||"#FFFFFF",icon:i.icon,inputs:i.inputs||0,outputs:i.outputs||0,label:i.label||Ji(t),paletteLabel:i.paletteLabel||Zi(t),labelStyle:i.labelStyle,inputLabels:i.inputLabels||Qi(t),outputLabels:i.outputLabels||Yi(t,i.outputPortNames,k,b),align:i.align||"left",button:i.button?{...i.button,onclick:i.button.onClick}:void 0,oneditprepare:r,oneditsave:o,oneditcancel:a,oneditdelete:c,oneditresize:i.onEditResize,onpaletteadd:i.onPaletteAdd,onpaletteremove:i.onPaletteRemove})}catch(r){throw console.error(`Error while registering node type ${t}:`,r),r}}async function sc(e){try{await Promise.all(e.map(t=>On(t)))}catch(t){throw console.error("Error registering node types:",t),t}}function ic(){const e=Gt("__nrg_form_node"),t=Gt("__nrg_form_schema"),r=Gt("__nrg_form_errors");if(!e)throw new Error("useFormNode() must be called inside a form component mounted by NRG.");return{node:e,schema:t,errors:r}}export{ec as __setForms,Xi as __setSchemas,tc as defineNode,On as registerType,sc as registerTypes,ic as useFormNode};
@@ -19,19 +19,19 @@ var defaultConfig = {
19
19
  }
20
20
  },
21
21
  optimizeDeps: {
22
- // @bonsae/nrg/server is a CJS bundle prebundling converts it so browser
23
- // tests can import TypeBox schemas straight from server schema modules.
24
- include: [
25
- "@bonsae/nrg/server",
26
- "jsonpointer",
27
- "ajv",
28
- "ajv-formats",
29
- "ajv-errors"
30
- ]
22
+ // Validator deps used by the form harness in the browser. Note: the server
23
+ // bundle is deliberately NOT prebundled browser/client code must never
24
+ // value-import the node runtime. Schemas reach component tests as data via
25
+ // the `schemas` globalSetup below (createNode resolves them by node type).
26
+ include: ["jsonpointer", "ajv", "ajv-formats", "ajv-errors"]
31
27
  },
32
28
  test: {
33
29
  testTimeout: 3e4,
34
30
  setupFiles: ["@bonsae/nrg/test/client/component/setup"],
31
+ // Serializes the package's node schemas (from src/server) in Node and
32
+ // provides them to the browser tests as data — mirrors the vite plugin, so
33
+ // tests never pull the server runtime into the browser bundle.
34
+ globalSetup: ["@bonsae/nrg/test/client/component/schemas"],
35
35
  include: ["tests/client/component/**/*.test.ts"],
36
36
  browser: {
37
37
  enabled: true,