@bonsae/nrg-runtime 0.30.0 → 0.32.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonsae/nrg-runtime",
3
- "version": "0.30.0",
3
+ "version": "0.32.0",
4
4
  "description": "The runtime for Node-RED nodes built with @bonsae/nrg — node base classes, schemas, AJV validator, and the editor client. Carries no build tooling.",
5
5
  "author": "Allan Oricil <allanoricil@duck.com>",
6
6
  "license": "MIT",
@@ -32,9 +32,9 @@
32
32
  "framework"
33
33
  ],
34
34
  "exports": {
35
- "./server": {
36
- "require": "./server/index.cjs",
37
- "default": "./server/index.cjs"
35
+ ".": {
36
+ "require": "./index.cjs",
37
+ "default": "./index.cjs"
38
38
  }
39
39
  },
40
40
  "dependencies": {
@@ -0,0 +1,13 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('.nrg-form-app[data-v-e262ed17]{padding-bottom:16px}.nrg-lifecycle-port[data-v-e262ed17]{white-space:nowrap}.nrg-lifecycle td.nrg-lifecycle-desc[data-v-e262ed17]{text-align:left;white-space:nowrap;color:var(--red-ui-text-color-disabled, #999)}.nrg-help-list[data-v-e262ed17]{margin:4px 0 6px;padding-left:16px;font-size:11px;line-height:1.5;color:var(--red-ui-text-color-disabled, #999)}.nrg-help-list li[data-v-e262ed17]{margin:1px 0}.nrg-section[data-v-e262ed17]{border-top:1px solid var(--red-ui-secondary-border-color, #ddd);margin-top:12px;padding-top:8px}.nrg-section-title[data-v-e262ed17]{font-weight:700;font-size:14px;margin-bottom:8px}.nrg-help[data-v-e262ed17]{white-space:nowrap;font-size:11px;line-height:1.4;color:var(--red-ui-text-color-disabled, #999);margin:2px 0 6px}.nrg-help-link[data-v-e262ed17]{color:var(--red-ui-text-color-link, #2196f3);white-space:nowrap}.nrg-help-link[data-v-e262ed17]:hover{text-decoration:underline}.nrg-subsection[data-v-e262ed17]{margin-bottom:10px}.nrg-subsection-title[data-v-e262ed17]{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-e262ed17],.nrg-lifecycle[data-v-e262ed17],.nrg-input[data-v-e262ed17]{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-lifecycle[data-v-e262ed17],.nrg-input[data-v-e262ed17]{table-layout:auto}.nrg-input[data-v-e262ed17],.nrg-lifecycle .nrg-outputs-flag[data-v-e262ed17],.nrg-input .nrg-outputs-flag[data-v-e262ed17]{width:auto}.nrg-outputs th[data-v-e262ed17],.nrg-outputs td[data-v-e262ed17],.nrg-lifecycle th[data-v-e262ed17],.nrg-lifecycle td[data-v-e262ed17],.nrg-input th[data-v-e262ed17],.nrg-input td[data-v-e262ed17]{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-e262ed17]:last-child,.nrg-outputs td[data-v-e262ed17]:last-child,.nrg-lifecycle th[data-v-e262ed17]:last-child,.nrg-lifecycle td[data-v-e262ed17]:last-child,.nrg-input th[data-v-e262ed17]:last-child,.nrg-input td[data-v-e262ed17]:last-child{border-right:none}.nrg-outputs tbody tr:last-child td[data-v-e262ed17],.nrg-lifecycle tbody tr:last-child td[data-v-e262ed17],.nrg-input tbody tr:last-child td[data-v-e262ed17]{border-bottom:none}.nrg-outputs thead th[data-v-e262ed17],.nrg-lifecycle thead th[data-v-e262ed17],.nrg-input thead th[data-v-e262ed17]{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-e262ed17]{width:3em}.nrg-outputs-label[data-v-e262ed17]{width:200px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nrg-outputs-return-col[data-v-e262ed17]{width:150px;white-space:nowrap}.nrg-outputs-context-col[data-v-e262ed17]{width:130px;white-space:nowrap}.nrg-outputs-flag[data-v-e262ed17]{width:116px}.nrg-outputs-flag .nrg-toggle-wrapper[data-v-e262ed17]{display:flex;align-items:center;justify-content:center}.nrg-outputs-return[data-v-e262ed17]{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-e262ed17]{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-e262ed17]:disabled{opacity:.6;cursor:not-allowed}.nrg-outputs td .nrg-outputs-return[data-v-e262ed17],.nrg-outputs td .nrg-outputs-context[data-v-e262ed17]{height:28px;margin:0;padding:0 6px;line-height:normal}[data-v-e262ed17] .node-red-vue-input-error-message{color:var(--red-ui-text-color-error)}[data-v-e262ed17] .form-row input[type=text],[data-v-e262ed17] .form-row input[type=number],[data-v-e262ed17] .form-row input[type=password]{height:34px;padding:0 8px;box-sizing:border-box}.nrg-label[data-v-ec9d13ab]{display:inline-block;width:100%;margin-bottom:4px;cursor:default}.nrg-label i[data-v-ec9d13ab]{margin-right:5px}.nrg-required[data-v-ec9d13ab]{color:var(--red-ui-text-color-error);margin-left:2px}.editor-wrapper[data-v-435dbf8c]{position:relative}.expand-button[data-v-435dbf8c]{position:absolute;top:-23px;right:0;z-index:10;transition:color .3s ease;cursor:pointer}.nrg-toggle-wrapper[data-v-9d4b2ecb]{display:inline-flex;align-items:center}.nrg-toggle[data-v-9d4b2ecb]{position:relative;display:inline-flex!important;flex-direction:column;align-items:flex-start;cursor:pointer;gap:4px;-webkit-user-select:none;user-select:none;margin:0!important}.nrg-toggle__input[data-v-9d4b2ecb]{position:absolute;opacity:0;width:0;height:0}.nrg-toggle__slider[data-v-9d4b2ecb]{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-9d4b2ecb]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:#fff;border-radius:50%;transition:transform .2s ease}.nrg-toggle__input:focus-visible~.nrg-toggle__slider[data-v-9d4b2ecb]{outline:2px solid var(--red-ui-form-input-focus-color, #2b6ec9);outline-offset:2px}.nrg-toggle--checked .nrg-toggle__slider[data-v-9d4b2ecb]{background-color:var(--red-ui-text-color-link, #0070d2)}.nrg-toggle--checked .nrg-toggle__slider[data-v-9d4b2ecb]:after{transform:translate(16px)}.nrg-toggle__label[data-v-9d4b2ecb]{cursor:default;white-space:nowrap}.nrg-toggle__label i[data-v-9d4b2ecb]{margin-right:2px}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();var Yo=Object.defineProperty,Xo=(e,t,r)=>t in e?Yo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Gt=(e,t,r)=>Xo(e,typeof t!="symbol"?t+"":t,r);import{ref as Qo,defineComponent as Pe,shallowRef as Oe,resolveComponent as me,openBlock as W,createElementBlock as Z,createCommentVNode as X,createElementVNode as U,createVNode as be,toDisplayString as H,createTextVNode as Ee,Fragment as Qe,renderList as et,createBlock as ye,resolveDynamicComponent as ea,withCtx as ta,normalizeClass as Jt,renderSlot as Ce,withDirectives as ra,vShow as na,Teleport as oa,createApp as aa,inject as Ht}from"/nrg/assets/vue.esm-browser.prod.js";const sa=["error","complete","status"];function gr(e){return sa.filter(t=>e[`${t}Port`]===!0)}function ia(e){return Math.max(0,Number(e.outputs??0)-gr(e).length)}function la(e,t){const r=ia(e);if(t<r)return{kind:"base",index:t};const n=gr(e)[t-r];return n?{kind:n}:null}function ca(e,t,r){var n;return t.validateInputTypes===!0?!0:r.kind==="base"&&((n=e.validateOutputTypes)==null?void 0:n[r.index])===!0}function br(e){return`${e.source.id}:${e.sourcePort}:${e.target.id}`}function $r(e,t){var r,n;return t(e.type)?(n=(r=e._def)==null?void 0:r.set)==null?void 0:n.module:void 0}function wr(e,t){var r,n;const o=la(e.source,e.sourcePort);if(!o||!ca(e.source,e.target,o))return null;const l=o.kind==="base"?{kind:"base",index:o.index,returnKey:(r=e.source.outputReturnProperties)==null?void 0:r[o.index],mode:(n=e.source.outputContextModes)==null?void 0:n[o.index]}:{kind:o.kind};return{id:br(e),source:{type:e.source.type,module:$r(e.source,t),port:l},target:{type:e.target.type,module:$r(e.target,t)}}}function ua(e){return`Wire type mismatch \u2014 ${e.message??"the source output is not assignable to the target input"}`}function da(e){return`Type Validation for wire ${e.id} couldn't be done because ${e.reason??"the wire could not be resolved"}`}function pa(e){const t=e.filter(o=>o.checked&&!o.ok),r=e.filter(o=>!o.checked&&o.reason);if(!t.length&&!r.length)return null;const n=[];return t.length&&n.push(`${t.length} wire${t.length>1?"s":""} failed type validation:`,...t.map(o=>`\u2022 ${o.id}: ${o.message??"type mismatch"}`)),r.length&&(n.length&&n.push(""),n.push(...r.map(o=>`\u2022 ${da(o)}`))),{level:t.length?"error":"warning",text:n.join(`
2
+ `)}}const _r=new Set;function fa(e){_r.add(e)}function Pr(e){return _r.has(e)}const Zt="nrg/type-check";function Er(e,t){return new Promise(r=>{try{$.ajax({url:e,method:"POST",contentType:"application/json",data:JSON.stringify(t),dataType:"json",success:n=>r(n),error:()=>r(null)})}catch{r(null)}})}function ha(e){return new Promise(t=>{try{$.ajax({url:e,method:"GET",dataType:"json",success:r=>t(r),error:()=>t(null)})}catch{t(null)}})}async function ma(){const e=await ha(`${Zt}/status`);return{available:e?.available===!0}}function kr(e){return typeof e=="object"&&e!==null&&typeof e.ok=="boolean"}async function ya(e){const t=await Er(Zt,e);return kr(t)?t:null}async function va(e){const t=await Er(`${Zt}/batch`,{wires:e}),r=t?.results;return Array.isArray(r)&&r.every(kr)?r:null}const tt=Qo(!1);async function ga(){const e=await ma();tt.value=e.available}let Sr=!1;const xr=[];let Yt=!1;const Xt=new Set,Nr=new Set;let Qt=!1;function ba(){Yt||(Yt=!0,Promise.resolve().then($a))}function $a(){const e=xr.splice(0);Yt=!1,e.length===1&&wa(e[0])}function wa(e){const t=wr(e,Pr);if(!t)return;const r=t.id;Xt.add(r),ya(t).then(n=>{if(Xt.delete(r),!Nr.delete(r)&&!(!n||!n.checked||n.ok)){Qt=!0;try{RED.nodes.removeLink(e),RED.view.redraw(!0)}catch{}finally{Qt=!1}RED.notify(ua(n),{type:"error",timeout:8e3})}})}function _a(e){!Sr||!tt.value||(xr.push(e),ba())}function Pa(e){if(Qt)return;const t=br(e);Xt.has(t)&&Nr.add(t)}function Ea(){if(!tt.value)return;const e=[];RED.nodes.eachLink(t=>{const r=wr(t,Pr);r&&e.push(r)}),e.length&&va(e).then(t=>{if(!t)return;const r=pa(t);r&&RED.notify(r.text,{type:r.level,timeout:r.level==="error"?0:1e4})})}function ka(){typeof RED>"u"||!RED.events||(ga(),RED.events.on("flows:load",()=>{Sr=!0}),RED.events.on("links:add",e=>_a(e)),RED.events.on("links:remove",e=>Pa(e)),RED.events.on("deploy",Ea))}ka();function Sa(e){return e}function rt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Fe={},jr;function xa(){if(jr)return Fe;jr=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 n(m){return e.test(m)?m.replace(t,r):m}function o(m,y,S){for(var b,c,v=1,E=y.length;v<E;){if(y[v]==="constructor"||y[v]==="prototype"||y[v]==="__proto__")return m;if(b=n(y[v++]),c=E>v,typeof m[b]>"u"&&(Array.isArray(m)&&b==="-"&&(b=m.length),c&&(y[v]!==""&&y[v]<1/0||y[v]==="-"?m[b]=[]:m[b]={})),!c)break;m=m[b]}var h=m[b];return S===void 0?delete m[b]:m[b]=S,h}function l(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 s(m,y){if(typeof m!="object")throw new Error("Invalid input object.");y=l(y);var S=y.length;if(S===1)return m;for(var b=1;b<S;){if(m=m[n(y[b++])],S===b)return m;if(typeof m!="object"||m===null)return}}function u(m,y,S){if(typeof m!="object")throw new Error("Invalid input object.");if(y=l(y),y.length===0)throw new Error("Invalid JSON pointer for set.");return o(m,y,S)}function d(m){var y=l(m);return{get:function(S){return s(S,y)},set:function(S,b){return u(S,y,b)}}}return Fe.get=s,Fe.set=u,Fe.compile=d,Fe}var Na=xa();const Ir=rt(Na);function ja(e,t,{signal:r,edges:n}={}){let o,l=null;const s=n!=null&&n.includes("leading"),u=n==null||n.includes("trailing"),d=()=>{l!==null&&(e.apply(o,l),o=void 0,l=null)},m=()=>{u&&d(),c()};let y=null;const S=()=>{y!=null&&clearTimeout(y),y=setTimeout(()=>{y=null,m()},t)},b=()=>{y!==null&&(clearTimeout(y),y=null)},c=()=>{b(),o=void 0,l=null},v=()=>{d()},E=function(...h){if(r!=null&&r.aborted)return;o=this,l=h;const p=y==null;S(),s&&p&&d()};return E.schedule=S,E.cancel=c,E.flush=v,r?.addEventListener("abort",c,{once:!0}),E}function Ia(){}function Ta(e){return e==null||typeof e!="object"&&typeof e!="function"}function Oa(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function er(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function tr(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Tr="[object RegExp]",Or="[object String]",Cr="[object Number]",Rr="[object Boolean]",rr="[object Arguments]",Vr="[object Symbol]",Mr="[object Date]",Ar="[object Map]",qr="[object Set]",zr="[object Array]",Ca="[object Function]",Lr="[object ArrayBuffer]",nt="[object Object]",Ra="[object Error]",Dr="[object DataView]",Ur="[object Uint8Array]",Fr="[object Uint8ClampedArray]",Kr="[object Uint16Array]",Br="[object Uint32Array]",Va="[object BigUint64Array]",Wr="[object Int8Array]",Gr="[object Int16Array]",Jr="[object Int32Array]",Ma="[object BigInt64Array]",Hr="[object Float32Array]",Zr="[object Float64Array]";function qe(e,t,r,n=new Map,o=void 0){const l=o?.(e,t,r,n);if(l!==void 0)return l;if(Ta(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const s=new Array(e.length);n.set(e,s);for(let u=0;u<e.length;u++)s[u]=qe(e[u],u,r,n,o);return Object.hasOwn(e,"index")&&(s.index=e.index),Object.hasOwn(e,"input")&&(s.input=e.input),s}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){const s=new RegExp(e.source,e.flags);return s.lastIndex=e.lastIndex,s}if(e instanceof Map){const s=new Map;n.set(e,s);for(const[u,d]of e)s.set(u,qe(d,u,r,n,o));return s}if(e instanceof Set){const s=new Set;n.set(e,s);for(const u of e)s.add(qe(u,void 0,r,n,o));return s}if(typeof Buffer<"u"&&Buffer.isBuffer(e))return e.subarray();if(Oa(e)){const s=new(Object.getPrototypeOf(e)).constructor(e.length);n.set(e,s);for(let u=0;u<e.length;u++)s[u]=qe(e[u],u,r,n,o);return s}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){const s=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return n.set(e,s),Ie(s,e,r,n,o),s}if(typeof File<"u"&&e instanceof File){const s=new File([e],e.name,{type:e.type});return n.set(e,s),Ie(s,e,r,n,o),s}if(typeof Blob<"u"&&e instanceof Blob){const s=new Blob([e],{type:e.type});return n.set(e,s),Ie(s,e,r,n,o),s}if(e instanceof Error){const s=structuredClone(e);return n.set(e,s),s.message=e.message,s.name=e.name,s.stack=e.stack,s.cause=e.cause,s.constructor=e.constructor,Ie(s,e,r,n,o),s}if(e instanceof Boolean){const s=new Boolean(e.valueOf());return n.set(e,s),Ie(s,e,r,n,o),s}if(e instanceof Number){const s=new Number(e.valueOf());return n.set(e,s),Ie(s,e,r,n,o),s}if(e instanceof String){const s=new String(e.valueOf());return n.set(e,s),Ie(s,e,r,n,o),s}if(typeof e=="object"&&Aa(e)){const s=Object.create(Object.getPrototypeOf(e));return n.set(e,s),Ie(s,e,r,n,o),s}return e}function Ie(e,t,r=e,n,o){const l=[...Object.keys(t),...er(t)];for(let s=0;s<l.length;s++){const u=l[s],d=Object.getOwnPropertyDescriptor(e,u);(d==null||d.writable)&&(e[u]=qe(t[u],u,r,n,o))}}function Aa(e){switch(tr(e)){case rr:case zr:case Lr:case Dr:case Rr:case Mr:case Hr:case Zr:case Wr:case Gr:case Jr:case Ar:case Cr:case nt:case Tr:case qr:case Or:case Vr:case Ur:case Fr:case Kr:case Br:return!0;default:return!1}}function Yr(e){return qe(e,void 0,e,new Map,void 0)}function Xr(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 qa(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function za(e,t,r){return Ke(e,t,void 0,void 0,void 0,void 0,r)}function Ke(e,t,r,n,o,l,s){const u=s(e,t,r,n,o,l);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 Be(e,t,l,s)}return Be(e,t,l,s)}function Be(e,t,r,n){if(Object.is(e,t))return!0;let o=tr(e),l=tr(t);if(o===rr&&(o=nt),l===rr&&(l=nt),o!==l)return!1;switch(o){case Or:return e.toString()===t.toString();case Cr:{const d=e.valueOf(),m=t.valueOf();return qa(d,m)}case Rr:case Mr:case Vr:return Object.is(e.valueOf(),t.valueOf());case Tr:return e.source===t.source&&e.flags===t.flags;case Ca:return e===t}r=r??new Map;const s=r.get(e),u=r.get(t);if(s!=null&&u!=null)return s===t;r.set(e,t),r.set(t,e);try{switch(o){case Ar:{if(e.size!==t.size)return!1;for(const[d,m]of e.entries())if(!t.has(d)||!Ke(m,t.get(d),d,e,t,r,n))return!1;return!0}case qr:{if(e.size!==t.size)return!1;const d=Array.from(e.values()),m=Array.from(t.values());for(let y=0;y<d.length;y++){const S=d[y],b=m.findIndex(c=>Ke(S,c,void 0,e,t,r,n));if(b===-1)return!1;m.splice(b,1)}return!0}case zr:case Ur:case Fr:case Kr:case Br:case Va:case Wr:case Gr:case Jr:case Ma:case Hr:case Zr:{if(typeof Buffer<"u"&&Buffer.isBuffer(e)!==Buffer.isBuffer(t)||e.length!==t.length)return!1;for(let d=0;d<e.length;d++)if(!Ke(e[d],t[d],d,e,t,r,n))return!1;return!0}case Lr:return e.byteLength!==t.byteLength?!1:Be(new Uint8Array(e),new Uint8Array(t),r,n);case Dr:return e.byteLength!==t.byteLength||e.byteOffset!==t.byteOffset?!1:Be(new Uint8Array(e),new Uint8Array(t),r,n);case Ra:return e.name===t.name&&e.message===t.message;case nt:{if(!(Be(e.constructor,t.constructor,r,n)||Xr(e)&&Xr(t)))return!1;const d=[...Object.keys(e),...er(e)],m=[...Object.keys(t),...er(t)];if(d.length!==m.length)return!1;for(let y=0;y<d.length;y++){const S=d[y],b=e[S];if(!Object.hasOwn(t,S))return!1;const c=t[S];if(!Ke(b,c,S,e,t,r,n))return!1}return!0}default:return!1}}finally{r.delete(e),r.delete(t)}}function La(e,t){return za(e,t,Ia)}var nr={exports:{}},Qr={},ke={},Re={},en={},tn={},rn={},nn;function We(){return nn||(nn=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(a){if(super(),!e.IDENTIFIER.test(a))throw new Error("CodeGen: name must be a valid identifier");this.str=a}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=r;class n extends t{constructor(a){super(),this._items=typeof a=="string"?[a]:a}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const a=this._items[0];return a===""||a==='""'}get str(){var a;return(a=this._str)!==null&&a!==void 0?a:this._str=this._items.reduce((i,w)=>`${i}${w}`,"")}get names(){var a;return(a=this._names)!==null&&a!==void 0?a:this._names=this._items.reduce((i,w)=>(w instanceof r&&(i[w.str]=(i[w.str]||0)+1),i),{})}}e._Code=n,e.nil=new n("");function o(p,...a){const i=[p[0]];let w=0;for(;w<a.length;)u(i,a[w]),i.push(p[++w]);return new n(i)}e._=o;const l=new n("+");function s(p,...a){const i=[c(p[0])];let w=0;for(;w<a.length;)i.push(l),u(i,a[w]),i.push(l,c(p[++w]));return d(i),new n(i)}e.str=s;function u(p,a){a instanceof n?p.push(...a._items):a instanceof r?p.push(a):p.push(S(a))}e.addCodeArg=u;function d(p){let a=1;for(;a<p.length-1;){if(p[a]===l){const i=m(p[a-1],p[a+1]);if(i!==void 0){p.splice(a-1,3,i);continue}p[a++]="+"}a++}}function m(p,a){if(a==='""')return p;if(p==='""')return a;if(typeof p=="string")return a instanceof r||p[p.length-1]!=='"'?void 0:typeof a!="string"?`${p.slice(0,-1)}${a}"`:a[0]==='"'?p.slice(0,-1)+a.slice(1):void 0;if(typeof a=="string"&&a[0]==='"'&&!(p instanceof r))return`"${p}${a.slice(1)}`}function y(p,a){return a.emptyStr()?p:p.emptyStr()?a:s`${p}${a}`}e.strConcat=y;function S(p){return typeof p=="number"||typeof p=="boolean"||p===null?p:c(Array.isArray(p)?p.join(","):p)}function b(p){return new n(c(p))}e.stringify=b;function c(p){return JSON.stringify(p).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}e.safeStringify=c;function v(p){return typeof p=="string"&&e.IDENTIFIER.test(p)?new n(`.${p}`):o`[${p}]`}e.getProperty=v;function E(p){if(typeof p=="string"&&e.IDENTIFIER.test(p))return new n(`${p}`);throw new Error(`CodeGen: invalid export name: ${p}, use explicit $id name mapping`)}e.getEsmExportName=E;function h(p){return new n(p.toString())}e.regexpCode=h})(rn)),rn}var on={},an;function sn(){return an||(an=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;const t=We();class r extends Error{constructor(m){super(`CodeGen: "code" for ${m} not defined`),this.value=m.value}}var n;(function(d){d[d.Started=0]="Started",d[d.Completed=1]="Completed"})(n||(e.UsedValueState=n={})),e.varKinds={const:new t.Name("const"),let:new t.Name("let"),var:new t.Name("var")};class o{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,S;if(!((S=(y=this._parent)===null||y===void 0?void 0:y._prefixes)===null||S===void 0)&&S.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=o;class l extends t.Name{constructor(m,y){super(y),this.prefix=m}setValue(m,{property:y,itemIndex:S}){this.value=m,this.scopePath=(0,t._)`.${new t.Name(y)}[${S}]`}}e.ValueScopeName=l;const s=(0,t._)`\n`;class u extends o{constructor(m){super(m),this._values={},this._scope=m.scope,this.opts={...m,_n:m.lines?s:t.nil}}get(){return this._scope}name(m){return new l(m,this._newName(m))}value(m,y){var S;if(y.ref===void 0)throw new Error("CodeGen: ref must be passed in value");const b=this.toName(m),{prefix:c}=b,v=(S=y.key)!==null&&S!==void 0?S:y.ref;let E=this._values[c];if(E){const a=E.get(v);if(a)return a}else E=this._values[c]=new Map;E.set(v,b);const h=this._scope[c]||(this._scope[c]=[]),p=h.length;return h[p]=y.ref,b.setValue(y,{property:c,itemIndex:p}),b}getValue(m,y){const S=this._values[m];if(S)return S.get(y)}scopeRefs(m,y=this._values){return this._reduceValues(y,S=>{if(S.scopePath===void 0)throw new Error(`CodeGen: name "${S}" has no value`);return(0,t._)`${m}${S.scopePath}`})}scopeCode(m=this._values,y,S){return this._reduceValues(m,b=>{if(b.value===void 0)throw new Error(`CodeGen: name "${b}" has no value`);return b.value.code},y,S)}_reduceValues(m,y,S={},b){let c=t.nil;for(const v in m){const E=m[v];if(!E)continue;const h=S[v]=S[v]||new Map;E.forEach(p=>{if(h.has(p))return;h.set(p,n.Started);let a=y(p);if(a){const i=this.opts.es5?e.varKinds.var:e.varKinds.const;c=(0,t._)`${c}${i} ${p} = ${a};${this.opts._n}`}else if(a=b?.(p))c=(0,t._)`${c}${a}${this.opts._n}`;else throw new r(p);h.set(p,n.Completed)})}return c}}e.ValueScope=u})(on)),on}var ln;function Q(){return ln||(ln=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=We(),r=sn();var n=We();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return n.Name}});var o=sn();Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return o.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 l{optimizeNodes(){return this}optimizeNames(f,P){return this}}class s extends l{constructor(f,P,O){super(),this.varKind=f,this.name=P,this.rhs=O}render({es5:f,_n:P}){const O=f?r.varKinds.var:this.varKind,D=this.rhs===void 0?"":` = ${this.rhs}`;return`${O} ${this.name}${D};`+P}optimizeNames(f,P){if(f[this.name.str])return this.rhs&&(this.rhs=G(this.rhs,f,P)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class u extends l{constructor(f,P,O){super(),this.lhs=f,this.rhs=P,this.sideEffects=O}render({_n:f}){return`${this.lhs} = ${this.rhs};`+f}optimizeNames(f,P){if(!(this.lhs instanceof t.Name&&!f[this.lhs.str]&&!this.sideEffects))return this.rhs=G(this.rhs,f,P),this}get names(){const f=this.lhs instanceof t.Name?{}:{...this.lhs.names};return K(f,this.rhs)}}class d extends u{constructor(f,P,O,D){super(f,O,D),this.op=P}render({_n:f}){return`${this.lhs} ${this.op}= ${this.rhs};`+f}}class m extends l{constructor(f){super(),this.label=f,this.names={}}render({_n:f}){return`${this.label}:`+f}}class y extends l{constructor(f){super(),this.label=f,this.names={}}render({_n:f}){return`break${this.label?` ${this.label}`:""};`+f}}class S extends l{constructor(f){super(),this.error=f}render({_n:f}){return`throw ${this.error};`+f}get names(){return this.error.names}}class b extends l{constructor(f){super(),this.code=f}render({_n:f}){return`${this.code};`+f}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(f,P){return this.code=G(this.code,f,P),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class c extends l{constructor(f=[]){super(),this.nodes=f}render(f){return this.nodes.reduce((P,O)=>P+O.render(f),"")}optimizeNodes(){const{nodes:f}=this;let P=f.length;for(;P--;){const O=f[P].optimizeNodes();Array.isArray(O)?f.splice(P,1,...O):O?f[P]=O:f.splice(P,1)}return f.length>0?this:void 0}optimizeNames(f,P){const{nodes:O}=this;let D=O.length;for(;D--;){const A=O[D];A.optimizeNames(f,P)||(ae(f,A.names),O.splice(D,1))}return O.length>0?this:void 0}get names(){return this.nodes.reduce((f,P)=>F(f,P.names),{})}}class v extends c{render(f){return"{"+f._n+super.render(f)+"}"+f._n}}class E extends c{}class h extends v{}h.kind="else";class p extends v{constructor(f,P){super(P),this.condition=f}render(f){let P=`if(${this.condition})`+super.render(f);return this.else&&(P+="else "+this.else.render(f)),P}optimizeNodes(){super.optimizeNodes();const f=this.condition;if(f===!0)return this.nodes;let P=this.else;if(P){const O=P.optimizeNodes();P=this.else=Array.isArray(O)?new h(O):O}if(P)return f===!1?P instanceof p?P:P.nodes:this.nodes.length?this:new p(se(f),P instanceof p?[P]:P.nodes);if(!(f===!1||!this.nodes.length))return this}optimizeNames(f,P){var O;if(this.else=(O=this.else)===null||O===void 0?void 0:O.optimizeNames(f,P),!!(super.optimizeNames(f,P)||this.else))return this.condition=G(this.condition,f,P),this}get names(){const f=super.names;return K(f,this.condition),this.else&&F(f,this.else.names),f}}p.kind="if";class a extends v{}a.kind="for";class i extends a{constructor(f){super(),this.iteration=f}render(f){return`for(${this.iteration})`+super.render(f)}optimizeNames(f,P){if(super.optimizeNames(f,P))return this.iteration=G(this.iteration,f,P),this}get names(){return F(super.names,this.iteration.names)}}class w extends a{constructor(f,P,O,D){super(),this.varKind=f,this.name=P,this.from=O,this.to=D}render(f){const P=f.es5?r.varKinds.var:this.varKind,{name:O,from:D,to:A}=this;return`for(${P} ${O}=${D}; ${O}<${A}; ${O}++)`+super.render(f)}get names(){const f=K(super.names,this.from);return K(f,this.to)}}class g extends a{constructor(f,P,O,D){super(),this.loop=f,this.varKind=P,this.name=O,this.iterable=D}render(f){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(f)}optimizeNames(f,P){if(super.optimizeNames(f,P))return this.iterable=G(this.iterable,f,P),this}get names(){return F(super.names,this.iterable.names)}}class _ extends v{constructor(f,P,O){super(),this.name=f,this.args=P,this.async=O}render(f){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(f)}}_.kind="func";class k extends c{render(f){return"return "+super.render(f)}}k.kind="return";class C extends v{render(f){let P="try"+super.render(f);return this.catch&&(P+=this.catch.render(f)),this.finally&&(P+=this.finally.render(f)),P}optimizeNodes(){var f,P;return super.optimizeNodes(),(f=this.catch)===null||f===void 0||f.optimizeNodes(),(P=this.finally)===null||P===void 0||P.optimizeNodes(),this}optimizeNames(f,P){var O,D;return super.optimizeNames(f,P),(O=this.catch)===null||O===void 0||O.optimizeNames(f,P),(D=this.finally)===null||D===void 0||D.optimizeNames(f,P),this}get names(){const f=super.names;return this.catch&&F(f,this.catch.names),this.finally&&F(f,this.finally.names),f}}class q extends v{constructor(f){super(),this.error=f}render(f){return`catch(${this.error})`+super.render(f)}}q.kind="catch";class L extends v{render(f){return"finally"+super.render(f)}}L.kind="finally";class V{constructor(f,P={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...P,_n:P.lines?`
3
+ `:""},this._extScope=f,this._scope=new r.Scope({parent:f}),this._nodes=[new E]}toString(){return this._root.render(this.opts)}name(f){return this._scope.name(f)}scopeName(f){return this._extScope.name(f)}scopeValue(f,P){const O=this._extScope.value(f,P);return(this._values[O.prefix]||(this._values[O.prefix]=new Set)).add(O),O}getScopeValue(f,P){return this._extScope.getValue(f,P)}scopeRefs(f){return this._extScope.scopeRefs(f,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(f,P,O,D){const A=this._scope.toName(P);return O!==void 0&&D&&(this._constants[A.str]=O),this._leafNode(new s(f,A,O)),A}const(f,P,O){return this._def(r.varKinds.const,f,P,O)}let(f,P,O){return this._def(r.varKinds.let,f,P,O)}var(f,P,O){return this._def(r.varKinds.var,f,P,O)}assign(f,P,O){return this._leafNode(new u(f,P,O))}add(f,P){return this._leafNode(new d(f,e.operators.ADD,P))}code(f){return typeof f=="function"?f():f!==t.nil&&this._leafNode(new b(f)),this}object(...f){const P=["{"];for(const[O,D]of f)P.length>1&&P.push(","),P.push(O),(O!==D||this.opts.es5)&&(P.push(":"),(0,t.addCodeArg)(P,D));return P.push("}"),new t._Code(P)}if(f,P,O){if(this._blockNode(new p(f)),P&&O)this.code(P).else().code(O).endIf();else if(P)this.code(P).endIf();else if(O)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(f){return this._elseNode(new p(f))}else(){return this._elseNode(new h)}endIf(){return this._endBlockNode(p,h)}_for(f,P){return this._blockNode(f),P&&this.code(P).endFor(),this}for(f,P){return this._for(new i(f),P)}forRange(f,P,O,D,A=this.opts.es5?r.varKinds.var:r.varKinds.let){const B=this._scope.toName(f);return this._for(new w(A,B,P,O),()=>D(B))}forOf(f,P,O,D=r.varKinds.const){const A=this._scope.toName(f);if(this.opts.es5){const B=P instanceof t.Name?P:this.var("_arr",P);return this.forRange("_i",0,(0,t._)`${B}.length`,Y=>{this.var(A,(0,t._)`${B}[${Y}]`),O(A)})}return this._for(new g("of",D,A,P),()=>O(A))}forIn(f,P,O,D=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(f,(0,t._)`Object.keys(${P})`,O);const A=this._scope.toName(f);return this._for(new g("in",D,A,P),()=>O(A))}endFor(){return this._endBlockNode(a)}label(f){return this._leafNode(new m(f))}break(f){return this._leafNode(new y(f))}return(f){const P=new k;if(this._blockNode(P),this.code(f),P.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(k)}try(f,P,O){if(!P&&!O)throw new Error('CodeGen: "try" without "catch" and "finally"');const D=new C;if(this._blockNode(D),this.code(f),P){const A=this.name("e");this._currNode=D.catch=new q(A),P(A)}return O&&(this._currNode=D.finally=new L,this.code(O)),this._endBlockNode(q,L)}throw(f){return this._leafNode(new S(f))}block(f,P){return this._blockStarts.push(this._nodes.length),f&&this.code(f).endBlock(P),this}endBlock(f){const P=this._blockStarts.pop();if(P===void 0)throw new Error("CodeGen: not in self-balancing block");const O=this._nodes.length-P;if(O<0||f!==void 0&&O!==f)throw new Error(`CodeGen: wrong number of nodes: ${O} vs ${f} expected`);return this._nodes.length=P,this}func(f,P=t.nil,O,D){return this._blockNode(new _(f,P,O)),D&&this.code(D).endFunc(),this}endFunc(){return this._endBlockNode(_)}optimize(f=1){for(;f-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(f){return this._currNode.nodes.push(f),this}_blockNode(f){this._currNode.nodes.push(f),this._nodes.push(f)}_endBlockNode(f,P){const O=this._currNode;if(O instanceof f||P&&O instanceof P)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${P?`${f.kind}/${P.kind}`:f.kind}"`)}_elseNode(f){const P=this._currNode;if(!(P instanceof p))throw new Error('CodeGen: "else" without "if"');return this._currNode=P.else=f,this}get _root(){return this._nodes[0]}get _currNode(){const f=this._nodes;return f[f.length-1]}set _currNode(f){const P=this._nodes;P[P.length-1]=f}}e.CodeGen=V;function F(x,f){for(const P in f)x[P]=(x[P]||0)+(f[P]||0);return x}function K(x,f){return f instanceof t._CodeOrName?F(x,f.names):x}function G(x,f,P){if(x instanceof t.Name)return O(x);if(!D(x))return x;return new t._Code(x._items.reduce((A,B)=>(B instanceof t.Name&&(B=O(B)),B instanceof t._Code?A.push(...B._items):A.push(B),A),[]));function O(A){const B=P[A.str];return B===void 0||f[A.str]!==1?A:(delete f[A.str],B)}function D(A){return A instanceof t._Code&&A._items.some(B=>B instanceof t.Name&&f[B.str]===1&&P[B.str]!==void 0)}}function ae(x,f){for(const P in f)x[P]=(x[P]||0)-(f[P]||0)}function se(x){return typeof x=="boolean"||typeof x=="number"||x===null?!x:(0,t._)`!${T(x)}`}e.not=se;const ue=I(e.operators.AND);function ne(...x){return x.reduce(ue)}e.and=ne;const de=I(e.operators.OR);function M(...x){return x.reduce(de)}e.or=M;function I(x){return(f,P)=>f===t.nil?P:P===t.nil?f:(0,t._)`${T(f)} ${x} ${T(P)}`}function T(x){return x instanceof t.Name?x:(0,t._)`(${x})`}})(tn)),tn}var ee={},cn;function re(){if(cn)return ee;cn=1,Object.defineProperty(ee,"__esModule",{value:!0}),ee.checkStrictMode=ee.getErrorPath=ee.Type=ee.useFunc=ee.setEvaluated=ee.evaluatedPropsToName=ee.mergeEvaluated=ee.eachItem=ee.unescapeJsonPointer=ee.escapeJsonPointer=ee.escapeFragment=ee.unescapeFragment=ee.schemaRefOrVal=ee.schemaHasRulesButRef=ee.schemaHasRules=ee.checkUnknownRules=ee.alwaysValidSchema=ee.toHash=void 0;const e=Q(),t=We();function r(g){const _={};for(const k of g)_[k]=!0;return _}ee.toHash=r;function n(g,_){return typeof _=="boolean"?_:Object.keys(_).length===0?!0:(o(g,_),!l(_,g.self.RULES.all))}ee.alwaysValidSchema=n;function o(g,_=g.schema){const{opts:k,self:C}=g;if(!k.strictSchema||typeof _=="boolean")return;const q=C.RULES.keywords;for(const L in _)q[L]||w(g,`unknown keyword: "${L}"`)}ee.checkUnknownRules=o;function l(g,_){if(typeof g=="boolean")return!g;for(const k in g)if(_[k])return!0;return!1}ee.schemaHasRules=l;function s(g,_){if(typeof g=="boolean")return!g;for(const k in g)if(k!=="$ref"&&_.all[k])return!0;return!1}ee.schemaHasRulesButRef=s;function u({topSchemaRef:g,schemaPath:_},k,C,q){if(!q){if(typeof k=="number"||typeof k=="boolean")return k;if(typeof k=="string")return(0,e._)`${k}`}return(0,e._)`${g}${_}${(0,e.getProperty)(C)}`}ee.schemaRefOrVal=u;function d(g){return S(decodeURIComponent(g))}ee.unescapeFragment=d;function m(g){return encodeURIComponent(y(g))}ee.escapeFragment=m;function y(g){return typeof g=="number"?`${g}`:g.replace(/~/g,"~0").replace(/\//g,"~1")}ee.escapeJsonPointer=y;function S(g){return g.replace(/~1/g,"/").replace(/~0/g,"~")}ee.unescapeJsonPointer=S;function b(g,_){if(Array.isArray(g))for(const k of g)_(k);else _(g)}ee.eachItem=b;function c({mergeNames:g,mergeToName:_,mergeValues:k,resultToName:C}){return(q,L,V,F)=>{const K=V===void 0?L:V instanceof e.Name?(L instanceof e.Name?g(q,L,V):_(q,L,V),V):L instanceof e.Name?(_(q,V,L),L):k(L,V);return F===e.Name&&!(K instanceof e.Name)?C(q,K):K}}ee.mergeEvaluated={props:c({mergeNames:(g,_,k)=>g.if((0,e._)`${k} !== true && ${_} !== undefined`,()=>{g.if((0,e._)`${_} === true`,()=>g.assign(k,!0),()=>g.assign(k,(0,e._)`${k} || {}`).code((0,e._)`Object.assign(${k}, ${_})`))}),mergeToName:(g,_,k)=>g.if((0,e._)`${k} !== true`,()=>{_===!0?g.assign(k,!0):(g.assign(k,(0,e._)`${k} || {}`),E(g,k,_))}),mergeValues:(g,_)=>g===!0?!0:{...g,..._},resultToName:v}),items:c({mergeNames:(g,_,k)=>g.if((0,e._)`${k} !== true && ${_} !== undefined`,()=>g.assign(k,(0,e._)`${_} === true ? true : ${k} > ${_} ? ${k} : ${_}`)),mergeToName:(g,_,k)=>g.if((0,e._)`${k} !== true`,()=>g.assign(k,_===!0?!0:(0,e._)`${k} > ${_} ? ${k} : ${_}`)),mergeValues:(g,_)=>g===!0?!0:Math.max(g,_),resultToName:(g,_)=>g.var("items",_)})};function v(g,_){if(_===!0)return g.var("props",!0);const k=g.var("props",(0,e._)`{}`);return _!==void 0&&E(g,k,_),k}ee.evaluatedPropsToName=v;function E(g,_,k){Object.keys(k).forEach(C=>g.assign((0,e._)`${_}${(0,e.getProperty)(C)}`,!0))}ee.setEvaluated=E;const h={};function p(g,_){return g.scopeValue("func",{ref:_,code:h[_.code]||(h[_.code]=new t._Code(_.code))})}ee.useFunc=p;var a;(function(g){g[g.Num=0]="Num",g[g.Str=1]="Str"})(a||(ee.Type=a={}));function i(g,_,k){if(g instanceof e.Name){const C=_===a.Num;return k?C?(0,e._)`"[" + ${g} + "]"`:(0,e._)`"['" + ${g} + "']"`:C?(0,e._)`"/" + ${g}`:(0,e._)`"/" + ${g}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return k?(0,e.getProperty)(g).toString():"/"+y(g)}ee.getErrorPath=i;function w(g,_,k=g.opts.strictSchema){if(k){if(_=`strict mode: ${_}`,k===!0)throw new Error(_);g.self.logger.warn(_)}}return ee.checkStrictMode=w,ee}var ot={},un;function Se(){if(un)return ot;un=1,Object.defineProperty(ot,"__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 ot.default=t,ot}var dn;function Ge(){return dn||(dn=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=re(),n=Se();e.keywordError={message:({keyword:h})=>(0,t.str)`must pass "${h}" keyword validation`},e.keyword$DataError={message:({keyword:h,schemaType:p})=>p?(0,t.str)`"${h}" keyword must be ${p} ($data)`:(0,t.str)`"${h}" keyword is invalid ($data)`};function o(h,p=e.keywordError,a,i){const{it:w}=h,{gen:g,compositeRule:_,allErrors:k}=w,C=S(h,p,a);i??(_||k)?d(g,C):m(w,(0,t._)`[${C}]`)}e.reportError=o;function l(h,p=e.keywordError,a){const{it:i}=h,{gen:w,compositeRule:g,allErrors:_}=i,k=S(h,p,a);d(w,k),g||_||m(i,n.default.vErrors)}e.reportExtraError=l;function s(h,p){h.assign(n.default.errors,p),h.if((0,t._)`${n.default.vErrors} !== null`,()=>h.if(p,()=>h.assign((0,t._)`${n.default.vErrors}.length`,p),()=>h.assign(n.default.vErrors,null)))}e.resetErrorsCount=s;function u({gen:h,keyword:p,schemaValue:a,data:i,errsCount:w,it:g}){if(w===void 0)throw new Error("ajv implementation error");const _=h.name("err");h.forRange("i",w,n.default.errors,k=>{h.const(_,(0,t._)`${n.default.vErrors}[${k}]`),h.if((0,t._)`${_}.instancePath === undefined`,()=>h.assign((0,t._)`${_}.instancePath`,(0,t.strConcat)(n.default.instancePath,g.errorPath))),h.assign((0,t._)`${_}.schemaPath`,(0,t.str)`${g.errSchemaPath}/${p}`),g.opts.verbose&&(h.assign((0,t._)`${_}.schema`,a),h.assign((0,t._)`${_}.data`,i))})}e.extendErrors=u;function d(h,p){const a=h.const("err",p);h.if((0,t._)`${n.default.vErrors} === null`,()=>h.assign(n.default.vErrors,(0,t._)`[${a}]`),(0,t._)`${n.default.vErrors}.push(${a})`),h.code((0,t._)`${n.default.errors}++`)}function m(h,p){const{gen:a,validateName:i,schemaEnv:w}=h;w.$async?a.throw((0,t._)`new ${h.ValidationError}(${p})`):(a.assign((0,t._)`${i}.errors`,p),a.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 S(h,p,a){const{createErrors:i}=h.it;return i===!1?(0,t._)`{}`:b(h,p,a)}function b(h,p,a={}){const{gen:i,it:w}=h,g=[c(w,a),v(h,a)];return E(h,p,g),i.object(...g)}function c({errorPath:h},{instancePath:p}){const a=p?(0,t.str)`${h}${(0,r.getErrorPath)(p,r.Type.Str)}`:h;return[n.default.instancePath,(0,t.strConcat)(n.default.instancePath,a)]}function v({keyword:h,it:{errSchemaPath:p}},{schemaPath:a,parentSchema:i}){let w=i?p:(0,t.str)`${p}/${h}`;return a&&(w=(0,t.str)`${w}${(0,r.getErrorPath)(a,r.Type.Str)}`),[y.schemaPath,w]}function E(h,{params:p,message:a},i){const{keyword:w,data:g,schemaValue:_,it:k}=h,{opts:C,propertyName:q,topSchemaRef:L,schemaPath:V}=k;i.push([y.keyword,w],[y.params,typeof p=="function"?p(h):p||(0,t._)`{}`]),C.messages&&i.push([y.message,typeof a=="function"?a(h):a]),C.verbose&&i.push([y.schema,_],[y.parentSchema,(0,t._)`${L}${V}`],[n.default.data,g]),q&&i.push([y.propertyName,q])}})(en)),en}var pn;function Da(){if(pn)return Re;pn=1,Object.defineProperty(Re,"__esModule",{value:!0}),Re.boolOrEmptySchema=Re.topBoolOrEmptySchema=void 0;const e=Ge(),t=Q(),r=Se(),n={message:"boolean schema is false"};function o(u){const{gen:d,schema:m,validateName:y}=u;m===!1?s(u,!1):typeof m=="object"&&m.$async===!0?d.return(r.default.data):(d.assign((0,t._)`${y}.errors`,null),d.return(!0))}Re.topBoolOrEmptySchema=o;function l(u,d){const{gen:m,schema:y}=u;y===!1?(m.var(d,!1),s(u)):m.var(d,!0)}Re.boolOrEmptySchema=l;function s(u,d){const{gen:m,data:y}=u,S={gen:m,keyword:"false schema",data:y,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:u};(0,e.reportError)(S,n,void 0,d)}return Re}var ce={},Ve={},fn;function hn(){if(fn)return Ve;fn=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(o){return typeof o=="string"&&t.has(o)}Ve.isJSONType=r;function n(){const o={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...o,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},o.number,o.string,o.array,o.object],post:{rules:[]},all:{},keywords:{}}}return Ve.getRules=n,Ve}var xe={},mn;function yn(){if(mn)return xe;mn=1,Object.defineProperty(xe,"__esModule",{value:!0}),xe.shouldUseRule=xe.shouldUseGroup=xe.schemaHasRulesForType=void 0;function e({schema:n,self:o},l){const s=o.RULES.types[l];return s&&s!==!0&&t(n,s)}xe.schemaHasRulesForType=e;function t(n,o){return o.rules.some(l=>r(n,l))}xe.shouldUseGroup=t;function r(n,o){var l;return n[o.keyword]!==void 0||((l=o.definition.implements)===null||l===void 0?void 0:l.some(s=>n[s]!==void 0))}return xe.shouldUseRule=r,xe}var vn;function at(){if(vn)return ce;vn=1,Object.defineProperty(ce,"__esModule",{value:!0}),ce.reportTypeError=ce.checkDataTypes=ce.checkDataType=ce.coerceAndCheckDataType=ce.getJSONTypes=ce.getSchemaTypes=ce.DataType=void 0;const e=hn(),t=yn(),r=Ge(),n=Q(),o=re();var l;(function(a){a[a.Correct=0]="Correct",a[a.Wrong=1]="Wrong"})(l||(ce.DataType=l={}));function s(a){const i=u(a.type);if(i.includes("null")){if(a.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!i.length&&a.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');a.nullable===!0&&i.push("null")}return i}ce.getSchemaTypes=s;function u(a){const i=Array.isArray(a)?a:a?[a]:[];if(i.every(e.isJSONType))return i;throw new Error("type must be JSONType or JSONType[]: "+i.join(","))}ce.getJSONTypes=u;function d(a,i){const{gen:w,data:g,opts:_}=a,k=y(i,_.coerceTypes),C=i.length>0&&!(k.length===0&&i.length===1&&(0,t.schemaHasRulesForType)(a,i[0]));if(C){const q=v(i,g,_.strictNumbers,l.Wrong);w.if(q,()=>{k.length?S(a,i,k):h(a)})}return C}ce.coerceAndCheckDataType=d;const m=new Set(["string","number","integer","boolean","null"]);function y(a,i){return i?a.filter(w=>m.has(w)||i==="array"&&w==="array"):[]}function S(a,i,w){const{gen:g,data:_,opts:k}=a,C=g.let("dataType",(0,n._)`typeof ${_}`),q=g.let("coerced",(0,n._)`undefined`);k.coerceTypes==="array"&&g.if((0,n._)`${C} == 'object' && Array.isArray(${_}) && ${_}.length == 1`,()=>g.assign(_,(0,n._)`${_}[0]`).assign(C,(0,n._)`typeof ${_}`).if(v(i,_,k.strictNumbers),()=>g.assign(q,_))),g.if((0,n._)`${q} !== undefined`);for(const V of w)(m.has(V)||V==="array"&&k.coerceTypes==="array")&&L(V);g.else(),h(a),g.endIf(),g.if((0,n._)`${q} !== undefined`,()=>{g.assign(_,q),b(a,q)});function L(V){switch(V){case"string":g.elseIf((0,n._)`${C} == "number" || ${C} == "boolean"`).assign(q,(0,n._)`"" + ${_}`).elseIf((0,n._)`${_} === null`).assign(q,(0,n._)`""`);return;case"number":g.elseIf((0,n._)`${C} == "boolean" || ${_} === null
4
+ || (${C} == "string" && ${_} && ${_} == +${_})`).assign(q,(0,n._)`+${_}`);return;case"integer":g.elseIf((0,n._)`${C} === "boolean" || ${_} === null
5
+ || (${C} === "string" && ${_} && ${_} == +${_} && !(${_} % 1))`).assign(q,(0,n._)`+${_}`);return;case"boolean":g.elseIf((0,n._)`${_} === "false" || ${_} === 0 || ${_} === null`).assign(q,!1).elseIf((0,n._)`${_} === "true" || ${_} === 1`).assign(q,!0);return;case"null":g.elseIf((0,n._)`${_} === "" || ${_} === 0 || ${_} === false`),g.assign(q,null);return;case"array":g.elseIf((0,n._)`${C} === "string" || ${C} === "number"
6
+ || ${C} === "boolean" || ${_} === null`).assign(q,(0,n._)`[${_}]`)}}}function b({gen:a,parentData:i,parentDataProperty:w},g){a.if((0,n._)`${i} !== undefined`,()=>a.assign((0,n._)`${i}[${w}]`,g))}function c(a,i,w,g=l.Correct){const _=g===l.Correct?n.operators.EQ:n.operators.NEQ;let k;switch(a){case"null":return(0,n._)`${i} ${_} null`;case"array":k=(0,n._)`Array.isArray(${i})`;break;case"object":k=(0,n._)`${i} && typeof ${i} == "object" && !Array.isArray(${i})`;break;case"integer":k=C((0,n._)`!(${i} % 1) && !isNaN(${i})`);break;case"number":k=C();break;default:return(0,n._)`typeof ${i} ${_} ${a}`}return g===l.Correct?k:(0,n.not)(k);function C(q=n.nil){return(0,n.and)((0,n._)`typeof ${i} == "number"`,q,w?(0,n._)`isFinite(${i})`:n.nil)}}ce.checkDataType=c;function v(a,i,w,g){if(a.length===1)return c(a[0],i,w,g);let _;const k=(0,o.toHash)(a);if(k.array&&k.object){const C=(0,n._)`typeof ${i} != "object"`;_=k.null?C:(0,n._)`!${i} || ${C}`,delete k.null,delete k.array,delete k.object}else _=n.nil;k.number&&delete k.integer;for(const C in k)_=(0,n.and)(_,c(C,i,w,g));return _}ce.checkDataTypes=v;const E={message:({schema:a})=>`must be ${a}`,params:({schema:a,schemaValue:i})=>typeof a=="string"?(0,n._)`{type: ${a}}`:(0,n._)`{type: ${i}}`};function h(a){const i=p(a);(0,r.reportError)(i,E)}ce.reportTypeError=h;function p(a){const{gen:i,data:w,schema:g}=a,_=(0,o.schemaRefOrVal)(a,g,"type");return{gen:i,keyword:"type",data:w,schema:g.type,schemaCode:_,schemaValue:_,parentSchema:g,params:{},it:a}}return ce}var Je={},gn;function Ua(){if(gn)return Je;gn=1,Object.defineProperty(Je,"__esModule",{value:!0}),Je.assignDefaults=void 0;const e=Q(),t=re();function r(o,l){const{properties:s,items:u}=o.schema;if(l==="object"&&s)for(const d in s)n(o,d,s[d].default);else l==="array"&&Array.isArray(u)&&u.forEach((d,m)=>n(o,m,d.default))}Je.assignDefaults=r;function n(o,l,s){const{gen:u,compositeRule:d,data:m,opts:y}=o;if(s===void 0)return;const S=(0,e._)`${m}${(0,e.getProperty)(l)}`;if(d){(0,t.checkStrictMode)(o,`default is ignored for: ${S}`);return}let b=(0,e._)`${S} === undefined`;y.useDefaults==="empty"&&(b=(0,e._)`${b} || ${S} === null || ${S} === ""`),u.if(b,(0,e._)`${S} = ${(0,e.stringify)(s)}`)}return Je}var we={},oe={},bn;function _e(){if(bn)return oe;bn=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=re(),r=Se(),n=re();function o(a,i){const{gen:w,data:g,it:_}=a;w.if(y(w,g,i,_.opts.ownProperties),()=>{a.setParams({missingProperty:(0,e._)`${i}`},!0),a.error()})}oe.checkReportMissingProp=o;function l({gen:a,data:i,it:{opts:w}},g,_){return(0,e.or)(...g.map(k=>(0,e.and)(y(a,i,k,w.ownProperties),(0,e._)`${_} = ${k}`)))}oe.checkMissingProp=l;function s(a,i){a.setParams({missingProperty:i},!0),a.error()}oe.reportMissingProp=s;function u(a){return a.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,e._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=u;function d(a,i,w){return(0,e._)`${u(a)}.call(${i}, ${w})`}oe.isOwnProperty=d;function m(a,i,w,g){const _=(0,e._)`${i}${(0,e.getProperty)(w)} !== undefined`;return g?(0,e._)`${_} && ${d(a,i,w)}`:_}oe.propertyInData=m;function y(a,i,w,g){const _=(0,e._)`${i}${(0,e.getProperty)(w)} === undefined`;return g?(0,e.or)(_,(0,e.not)(d(a,i,w))):_}oe.noPropertyInData=y;function S(a){return a?Object.keys(a).filter(i=>i!=="__proto__"):[]}oe.allSchemaProperties=S;function b(a,i){return S(i).filter(w=>!(0,t.alwaysValidSchema)(a,i[w]))}oe.schemaProperties=b;function c({schemaCode:a,data:i,it:{gen:w,topSchemaRef:g,schemaPath:_,errorPath:k},it:C},q,L,V){const F=V?(0,e._)`${a}, ${i}, ${g}${_}`:i,K=[[r.default.instancePath,(0,e.strConcat)(r.default.instancePath,k)],[r.default.parentData,C.parentData],[r.default.parentDataProperty,C.parentDataProperty],[r.default.rootData,r.default.rootData]];C.opts.dynamicRef&&K.push([r.default.dynamicAnchors,r.default.dynamicAnchors]);const G=(0,e._)`${F}, ${w.object(...K)}`;return L!==e.nil?(0,e._)`${q}.call(${L}, ${G})`:(0,e._)`${q}(${G})`}oe.callValidateCode=c;const v=(0,e._)`new RegExp`;function E({gen:a,it:{opts:i}},w){const g=i.unicodeRegExp?"u":"",{regExp:_}=i.code,k=_(w,g);return a.scopeValue("pattern",{key:k.toString(),ref:k,code:(0,e._)`${_.code==="new RegExp"?v:(0,n.useFunc)(a,_)}(${w}, ${g})`})}oe.usePattern=E;function h(a){const{gen:i,data:w,keyword:g,it:_}=a,k=i.name("valid");if(_.allErrors){const q=i.let("valid",!0);return C(()=>i.assign(q,!1)),q}return i.var(k,!0),C(()=>i.break()),k;function C(q){const L=i.const("len",(0,e._)`${w}.length`);i.forRange("i",0,L,V=>{a.subschema({keyword:g,dataProp:V,dataPropType:t.Type.Num},k),i.if((0,e.not)(k),q)})}}oe.validateArray=h;function p(a){const{gen:i,schema:w,keyword:g,it:_}=a;if(!Array.isArray(w))throw new Error("ajv implementation error");if(w.some(q=>(0,t.alwaysValidSchema)(_,q))&&!_.opts.unevaluated)return;const k=i.let("valid",!1),C=i.name("_valid");i.block(()=>w.forEach((q,L)=>{const V=a.subschema({keyword:g,schemaProp:L,compositeRule:!0},C);i.assign(k,(0,e._)`${k} || ${C}`),a.mergeValidEvaluated(V,C)||i.if((0,e.not)(k))})),a.result(k,()=>a.reset(),()=>a.error(!0))}return oe.validateUnion=p,oe}var $n;function Fa(){if($n)return we;$n=1,Object.defineProperty(we,"__esModule",{value:!0}),we.validateKeywordUsage=we.validSchemaType=we.funcKeywordCode=we.macroKeywordCode=void 0;const e=Q(),t=Se(),r=_e(),n=Ge();function o(b,c){const{gen:v,keyword:E,schema:h,parentSchema:p,it:a}=b,i=c.macro.call(a.self,h,p,a),w=m(v,E,i);a.opts.validateSchema!==!1&&a.self.validateSchema(i,!0);const g=v.name("valid");b.subschema({schema:i,schemaPath:e.nil,errSchemaPath:`${a.errSchemaPath}/${E}`,topSchemaRef:w,compositeRule:!0},g),b.pass(g,()=>b.error(!0))}we.macroKeywordCode=o;function l(b,c){var v;const{gen:E,keyword:h,schema:p,parentSchema:a,$data:i,it:w}=b;d(w,c);const g=!i&&c.compile?c.compile.call(w.self,p,a,w):c.validate,_=m(E,h,g),k=E.let("valid");b.block$data(k,C),b.ok((v=c.valid)!==null&&v!==void 0?v:k);function C(){if(c.errors===!1)V(),c.modifying&&s(b),F(()=>b.error());else{const K=c.async?q():L();c.modifying&&s(b),F(()=>u(b,K))}}function q(){const K=E.let("ruleErrs",null);return E.try(()=>V((0,e._)`await `),G=>E.assign(k,!1).if((0,e._)`${G} instanceof ${w.ValidationError}`,()=>E.assign(K,(0,e._)`${G}.errors`),()=>E.throw(G))),K}function L(){const K=(0,e._)`${_}.errors`;return E.assign(K,null),V(e.nil),K}function V(K=c.async?(0,e._)`await `:e.nil){const G=w.opts.passContext?t.default.this:t.default.self,ae=!("compile"in c&&!i||c.schema===!1);E.assign(k,(0,e._)`${K}${(0,r.callValidateCode)(b,_,G,ae)}`,c.modifying)}function F(K){var G;E.if((0,e.not)((G=c.valid)!==null&&G!==void 0?G:k),K)}}we.funcKeywordCode=l;function s(b){const{gen:c,data:v,it:E}=b;c.if(E.parentData,()=>c.assign(v,(0,e._)`${E.parentData}[${E.parentDataProperty}]`))}function u(b,c){const{gen:v}=b;v.if((0,e._)`Array.isArray(${c})`,()=>{v.assign(t.default.vErrors,(0,e._)`${t.default.vErrors} === null ? ${c} : ${t.default.vErrors}.concat(${c})`).assign(t.default.errors,(0,e._)`${t.default.vErrors}.length`),(0,n.extendErrors)(b)},()=>b.error())}function d({schemaEnv:b},c){if(c.async&&!b.$async)throw new Error("async keyword in sync schema")}function m(b,c,v){if(v===void 0)throw new Error(`keyword "${c}" failed to compile`);return b.scopeValue("keyword",typeof v=="function"?{ref:v}:{ref:v,code:(0,e.stringify)(v)})}function y(b,c,v=!1){return!c.length||c.some(E=>E==="array"?Array.isArray(b):E==="object"?b&&typeof b=="object"&&!Array.isArray(b):typeof b==E||v&&typeof b>"u")}we.validSchemaType=y;function S({schema:b,opts:c,self:v,errSchemaPath:E},h,p){if(Array.isArray(h.keyword)?!h.keyword.includes(p):h.keyword!==p)throw new Error("ajv implementation error");const a=h.dependencies;if(a!=null&&a.some(i=>!Object.prototype.hasOwnProperty.call(b,i)))throw new Error(`parent schema must have dependencies of ${p}: ${a.join(",")}`);if(h.validateSchema&&!h.validateSchema(b[p])){const i=`keyword "${p}" value is invalid at path "${E}": `+v.errorsText(h.validateSchema.errors);if(c.validateSchema==="log")v.logger.error(i);else throw new Error(i)}}return we.validateKeywordUsage=S,we}var Ne={},wn;function Ka(){if(wn)return Ne;wn=1,Object.defineProperty(Ne,"__esModule",{value:!0}),Ne.extendSubschemaMode=Ne.extendSubschemaData=Ne.getSubschema=void 0;const e=Q(),t=re();function r(l,{keyword:s,schemaProp:u,schema:d,schemaPath:m,errSchemaPath:y,topSchemaRef:S}){if(s!==void 0&&d!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(s!==void 0){const b=l.schema[s];return u===void 0?{schema:b,schemaPath:(0,e._)`${l.schemaPath}${(0,e.getProperty)(s)}`,errSchemaPath:`${l.errSchemaPath}/${s}`}:{schema:b[u],schemaPath:(0,e._)`${l.schemaPath}${(0,e.getProperty)(s)}${(0,e.getProperty)(u)}`,errSchemaPath:`${l.errSchemaPath}/${s}/${(0,t.escapeFragment)(u)}`}}if(d!==void 0){if(m===void 0||y===void 0||S===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:d,schemaPath:m,topSchemaRef:S,errSchemaPath:y}}throw new Error('either "keyword" or "schema" must be passed')}Ne.getSubschema=r;function n(l,s,{dataProp:u,dataPropType:d,data:m,dataTypes:y,propertyName:S}){if(m!==void 0&&u!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:b}=s;if(u!==void 0){const{errorPath:v,dataPathArr:E,opts:h}=s,p=b.let("data",(0,e._)`${s.data}${(0,e.getProperty)(u)}`,!0);c(p),l.errorPath=(0,e.str)`${v}${(0,t.getErrorPath)(u,d,h.jsPropertySyntax)}`,l.parentDataProperty=(0,e._)`${u}`,l.dataPathArr=[...E,l.parentDataProperty]}if(m!==void 0){const v=m instanceof e.Name?m:b.let("data",m,!0);c(v),S!==void 0&&(l.propertyName=S)}y&&(l.dataTypes=y);function c(v){l.data=v,l.dataLevel=s.dataLevel+1,l.dataTypes=[],s.definedProperties=new Set,l.parentData=s.data,l.dataNames=[...s.dataNames,v]}}Ne.extendSubschemaData=n;function o(l,{jtdDiscriminator:s,jtdMetadata:u,compositeRule:d,createErrors:m,allErrors:y}){d!==void 0&&(l.compositeRule=d),m!==void 0&&(l.createErrors=m),y!==void 0&&(l.allErrors=y),l.jtdDiscriminator=s,l.jtdMetadata=u}return Ne.extendSubschemaMode=o,Ne}var pe={},_n,Pn;function En(){return Pn||(Pn=1,_n=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 n,o,l;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))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(l=Object.keys(t),n=l.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,l[o]))return!1;for(o=n;o--!==0;){var s=l[o];if(!e(t[s],r[s]))return!1}return!0}return t!==t&&r!==r}),_n}var or={exports:{}},kn;function Ba(){if(kn)return or.exports;kn=1;var e=or.exports=function(n,o,l){typeof o=="function"&&(l=o,o={}),l=o.cb||l;var s=typeof l=="function"?l:l.pre||function(){},u=l.post||function(){};t(o,s,u,n,"",n)};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(n,o,l,s,u,d,m,y,S,b){if(s&&typeof s=="object"&&!Array.isArray(s)){o(s,u,d,m,y,S,b);for(var c in s){var v=s[c];if(Array.isArray(v)){if(c in e.arrayKeywords)for(var E=0;E<v.length;E++)t(n,o,l,v[E],u+"/"+c+"/"+E,d,u,c,s,E)}else if(c in e.propsKeywords){if(v&&typeof v=="object")for(var h in v)t(n,o,l,v[h],u+"/"+c+"/"+r(h),d,u,c,s,h)}else(c in e.keywords||n.allKeys&&!(c in e.skipKeywords))&&t(n,o,l,v,u+"/"+c,d,u,c,s)}l(s,u,d,m,y,S,b)}}function r(n){return n.replace(/~/g,"~0").replace(/\//g,"~1")}return or.exports}var Sn;function st(){if(Sn)return pe;Sn=1,Object.defineProperty(pe,"__esModule",{value:!0}),pe.getSchemaRefs=pe.resolveUrl=pe.normalizeId=pe._getFullPath=pe.getFullPath=pe.inlineRef=void 0;const e=re(),t=En(),r=Ba(),n=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function o(E,h=!0){return typeof E=="boolean"?!0:h===!0?!s(E):h?u(E)<=h:!1}pe.inlineRef=o;const l=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function s(E){for(const h in E){if(l.has(h))return!0;const p=E[h];if(Array.isArray(p)&&p.some(s)||typeof p=="object"&&s(p))return!0}return!1}function u(E){let h=0;for(const p in E)if(p==="$ref"||(h++,!n.has(p)&&(typeof E[p]=="object"&&(0,e.eachItem)(E[p],a=>h+=u(a)),h===1/0)))return 1/0;return h}function d(E,h="",p){p!==!1&&(h=S(h));const a=E.parse(h);return m(E,a)}pe.getFullPath=d;function m(E,h){return E.serialize(h).split("#")[0]+"#"}pe._getFullPath=m;const y=/#\/?$/;function S(E){return E?E.replace(y,""):""}pe.normalizeId=S;function b(E,h,p){return p=S(p),E.resolve(h,p)}pe.resolveUrl=b;const c=/^[a-z_][-a-z0-9._]*$/i;function v(E,h){if(typeof E=="boolean")return{};const{schemaId:p,uriResolver:a}=this.opts,i=S(E[p]||h),w={"":i},g=d(a,i,!1),_={},k=new Set;return r(E,{allKeys:!0},(L,V,F,K)=>{if(K===void 0)return;const G=g+V;let ae=w[K];typeof L[p]=="string"&&(ae=se.call(this,L[p])),ue.call(this,L.$anchor),ue.call(this,L.$dynamicAnchor),w[V]=ae;function se(ne){const de=this.opts.uriResolver.resolve;if(ne=S(ae?de(ae,ne):ne),k.has(ne))throw q(ne);k.add(ne);let M=this.refs[ne];return typeof M=="string"&&(M=this.refs[M]),typeof M=="object"?C(L,M.schema,ne):ne!==S(G)&&(ne[0]==="#"?(C(L,_[ne],ne),_[ne]=L):this.refs[ne]=G),ne}function ue(ne){if(typeof ne=="string"){if(!c.test(ne))throw new Error(`invalid anchor "${ne}"`);se.call(this,`#${ne}`)}}}),_;function C(L,V,F){if(V!==void 0&&!t(L,V))throw q(F)}function q(L){return new Error(`reference "${L}" resolves to more than one schema`)}}return pe.getSchemaRefs=v,pe}var xn;function He(){if(xn)return ke;xn=1,Object.defineProperty(ke,"__esModule",{value:!0}),ke.getData=ke.KeywordCxt=ke.validateFunctionCode=void 0;const e=Da(),t=at(),r=yn(),n=at(),o=Ua(),l=Fa(),s=Ka(),u=Q(),d=Se(),m=st(),y=re(),S=Ge();function b(N){if(g(N)&&(k(N),w(N))){h(N);return}c(N,()=>(0,e.topBoolOrEmptySchema)(N))}ke.validateFunctionCode=b;function c({gen:N,validateName:j,schema:R,schemaEnv:z,opts:J},te){J.code.es5?N.func(j,(0,u._)`${d.default.data}, ${d.default.valCxt}`,z.$async,()=>{N.code((0,u._)`"use strict"; ${a(R,J)}`),E(N,J),N.code(te)}):N.func(j,(0,u._)`${d.default.data}, ${v(J)}`,z.$async,()=>N.code(a(R,J)).code(te))}function v(N){return(0,u._)`{${d.default.instancePath}="", ${d.default.parentData}, ${d.default.parentDataProperty}, ${d.default.rootData}=${d.default.data}${N.dynamicRef?(0,u._)`, ${d.default.dynamicAnchors}={}`:u.nil}}={}`}function E(N,j){N.if(d.default.valCxt,()=>{N.var(d.default.instancePath,(0,u._)`${d.default.valCxt}.${d.default.instancePath}`),N.var(d.default.parentData,(0,u._)`${d.default.valCxt}.${d.default.parentData}`),N.var(d.default.parentDataProperty,(0,u._)`${d.default.valCxt}.${d.default.parentDataProperty}`),N.var(d.default.rootData,(0,u._)`${d.default.valCxt}.${d.default.rootData}`),j.dynamicRef&&N.var(d.default.dynamicAnchors,(0,u._)`${d.default.valCxt}.${d.default.dynamicAnchors}`)},()=>{N.var(d.default.instancePath,(0,u._)`""`),N.var(d.default.parentData,(0,u._)`undefined`),N.var(d.default.parentDataProperty,(0,u._)`undefined`),N.var(d.default.rootData,d.default.data),j.dynamicRef&&N.var(d.default.dynamicAnchors,(0,u._)`{}`)})}function h(N){const{schema:j,opts:R,gen:z}=N;c(N,()=>{R.$comment&&j.$comment&&K(N),L(N),z.let(d.default.vErrors,null),z.let(d.default.errors,0),R.unevaluated&&p(N),C(N),G(N)})}function p(N){const{gen:j,validateName:R}=N;N.evaluated=j.const("evaluated",(0,u._)`${R}.evaluated`),j.if((0,u._)`${N.evaluated}.dynamicProps`,()=>j.assign((0,u._)`${N.evaluated}.props`,(0,u._)`undefined`)),j.if((0,u._)`${N.evaluated}.dynamicItems`,()=>j.assign((0,u._)`${N.evaluated}.items`,(0,u._)`undefined`))}function a(N,j){const R=typeof N=="object"&&N[j.schemaId];return R&&(j.code.source||j.code.process)?(0,u._)`/*# sourceURL=${R} */`:u.nil}function i(N,j){if(g(N)&&(k(N),w(N))){_(N,j);return}(0,e.boolOrEmptySchema)(N,j)}function w({schema:N,self:j}){if(typeof N=="boolean")return!N;for(const R in N)if(j.RULES.all[R])return!0;return!1}function g(N){return typeof N.schema!="boolean"}function _(N,j){const{schema:R,gen:z,opts:J}=N;J.$comment&&R.$comment&&K(N),V(N),F(N);const te=z.const("_errs",d.default.errors);C(N,te),z.var(j,(0,u._)`${te} === ${d.default.errors}`)}function k(N){(0,y.checkUnknownRules)(N),q(N)}function C(N,j){if(N.opts.jtd)return se(N,[],!1,j);const R=(0,t.getSchemaTypes)(N.schema),z=(0,t.coerceAndCheckDataType)(N,R);se(N,R,!z,j)}function q(N){const{schema:j,errSchemaPath:R,opts:z,self:J}=N;j.$ref&&z.ignoreKeywordsWithRef&&(0,y.schemaHasRulesButRef)(j,J.RULES)&&J.logger.warn(`$ref: keywords ignored in schema at path "${R}"`)}function L(N){const{schema:j,opts:R}=N;j.default!==void 0&&R.useDefaults&&R.strictSchema&&(0,y.checkStrictMode)(N,"default is ignored in the schema root")}function V(N){const j=N.schema[N.opts.schemaId];j&&(N.baseId=(0,m.resolveUrl)(N.opts.uriResolver,N.baseId,j))}function F(N){if(N.schema.$async&&!N.schemaEnv.$async)throw new Error("async schema in sync schema")}function K({gen:N,schemaEnv:j,schema:R,errSchemaPath:z,opts:J}){const te=R.$comment;if(J.$comment===!0)N.code((0,u._)`${d.default.self}.logger.log(${te})`);else if(typeof J.$comment=="function"){const ie=(0,u.str)`${z}/$comment`,$e=N.scopeValue("root",{ref:j.root});N.code((0,u._)`${d.default.self}.opts.$comment(${te}, ${ie}, ${$e}.schema)`)}}function G(N){const{gen:j,schemaEnv:R,validateName:z,ValidationError:J,opts:te}=N;R.$async?j.if((0,u._)`${d.default.errors} === 0`,()=>j.return(d.default.data),()=>j.throw((0,u._)`new ${J}(${d.default.vErrors})`)):(j.assign((0,u._)`${z}.errors`,d.default.vErrors),te.unevaluated&&ae(N),j.return((0,u._)`${d.default.errors} === 0`))}function ae({gen:N,evaluated:j,props:R,items:z}){R instanceof u.Name&&N.assign((0,u._)`${j}.props`,R),z instanceof u.Name&&N.assign((0,u._)`${j}.items`,z)}function se(N,j,R,z){const{gen:J,schema:te,data:ie,allErrors:$e,opts:fe,self:he}=N,{RULES:le}=he;if(te.$ref&&(fe.ignoreKeywordsWithRef||!(0,y.schemaHasRulesButRef)(te,le))){J.block(()=>D(N,"$ref",le.all.$ref.definition));return}fe.jtd||ne(N,j),J.block(()=>{for(const ge of le.rules)Ae(ge);Ae(le.post)});function Ae(ge){(0,r.shouldUseGroup)(te,ge)&&(ge.type?(J.if((0,n.checkDataType)(ge.type,ie,fe.strictNumbers)),ue(N,ge),j.length===1&&j[0]===ge.type&&R&&(J.else(),(0,n.reportTypeError)(N)),J.endIf()):ue(N,ge),$e||J.if((0,u._)`${d.default.errors} === ${z||0}`))}}function ue(N,j){const{gen:R,schema:z,opts:{useDefaults:J}}=N;J&&(0,o.assignDefaults)(N,j.type),R.block(()=>{for(const te of j.rules)(0,r.shouldUseRule)(z,te)&&D(N,te.keyword,te.definition,j.type)})}function ne(N,j){N.schemaEnv.meta||!N.opts.strictTypes||(de(N,j),N.opts.allowUnionTypes||M(N,j),I(N,N.dataTypes))}function de(N,j){if(j.length){if(!N.dataTypes.length){N.dataTypes=j;return}j.forEach(R=>{x(N.dataTypes,R)||P(N,`type "${R}" not allowed by context "${N.dataTypes.join(",")}"`)}),f(N,j)}}function M(N,j){j.length>1&&!(j.length===2&&j.includes("null"))&&P(N,"use allowUnionTypes to allow union type keyword")}function I(N,j){const R=N.self.RULES.all;for(const z in R){const J=R[z];if(typeof J=="object"&&(0,r.shouldUseRule)(N.schema,J)){const{type:te}=J.definition;te.length&&!te.some(ie=>T(j,ie))&&P(N,`missing type "${te.join(",")}" for keyword "${z}"`)}}}function T(N,j){return N.includes(j)||j==="number"&&N.includes("integer")}function x(N,j){return N.includes(j)||j==="integer"&&N.includes("number")}function f(N,j){const R=[];for(const z of N.dataTypes)x(j,z)?R.push(z):j.includes("integer")&&z==="number"&&R.push("integer");N.dataTypes=R}function P(N,j){const R=N.schemaEnv.baseId+N.errSchemaPath;j+=` at "${R}" (strictTypes)`,(0,y.checkStrictMode)(N,j,N.opts.strictTypes)}class O{constructor(j,R,z){if((0,l.validateKeywordUsage)(j,R,z),this.gen=j.gen,this.allErrors=j.allErrors,this.keyword=z,this.data=j.data,this.schema=j.schema[z],this.$data=R.$data&&j.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,y.schemaRefOrVal)(j,this.schema,z,this.$data),this.schemaType=R.schemaType,this.parentSchema=j.schema,this.params={},this.it=j,this.def=R,this.$data)this.schemaCode=j.gen.const("vSchema",Y(this.$data,j));else if(this.schemaCode=this.schemaValue,!(0,l.validSchemaType)(this.schema,R.schemaType,R.allowUndefined))throw new Error(`${z} value must be ${JSON.stringify(R.schemaType)}`);("code"in R?R.trackErrors:R.errors!==!1)&&(this.errsCount=j.gen.const("_errs",d.default.errors))}result(j,R,z){this.failResult((0,u.not)(j),R,z)}failResult(j,R,z){this.gen.if(j),z?z():this.error(),R?(this.gen.else(),R(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(j,R){this.failResult((0,u.not)(j),void 0,R)}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:R}=this;this.fail((0,u._)`${R} !== undefined && (${(0,u.or)(this.invalid$data(),j)})`)}error(j,R,z){if(R){this.setParams(R),this._error(j,z),this.setParams({});return}this._error(j,z)}_error(j,R){(j?S.reportExtraError:S.reportError)(this,this.def.error,R)}$dataError(){(0,S.reportError)(this,this.def.$dataError||S.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,S.resetErrorsCount)(this.gen,this.errsCount)}ok(j){this.allErrors||this.gen.if(j)}setParams(j,R){R?Object.assign(this.params,j):this.params=j}block$data(j,R,z=u.nil){this.gen.block(()=>{this.check$data(j,z),R()})}check$data(j=u.nil,R=u.nil){if(!this.$data)return;const{gen:z,schemaCode:J,schemaType:te,def:ie}=this;z.if((0,u.or)((0,u._)`${J} === undefined`,R)),j!==u.nil&&z.assign(j,!0),(te.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:R,schemaType:z,def:J,it:te}=this;return(0,u.or)(ie(),$e());function ie(){if(z.length){if(!(R instanceof u.Name))throw new Error("ajv implementation error");const fe=Array.isArray(z)?z:[z];return(0,u._)`${(0,n.checkDataTypes)(fe,R,te.opts.strictNumbers,n.DataType.Wrong)}`}return u.nil}function $e(){if(J.validateSchema){const fe=j.scopeValue("validate$data",{ref:J.validateSchema});return(0,u._)`!${fe}(${R})`}return u.nil}}subschema(j,R){const z=(0,s.getSubschema)(this.it,j);(0,s.extendSubschemaData)(z,this.it,j),(0,s.extendSubschemaMode)(z,j);const J={...this.it,...z,items:void 0,props:void 0};return i(J,R),J}mergeEvaluated(j,R){const{it:z,gen:J}=this;z.opts.unevaluated&&(z.props!==!0&&j.props!==void 0&&(z.props=y.mergeEvaluated.props(J,j.props,z.props,R)),z.items!==!0&&j.items!==void 0&&(z.items=y.mergeEvaluated.items(J,j.items,z.items,R)))}mergeValidEvaluated(j,R){const{it:z,gen:J}=this;if(z.opts.unevaluated&&(z.props!==!0||z.items!==!0))return J.if(R,()=>this.mergeEvaluated(j,u.Name)),!0}}ke.KeywordCxt=O;function D(N,j,R,z){const J=new O(N,R,j);"code"in R?R.code(J,z):J.$data&&R.validate?(0,l.funcKeywordCode)(J,R):"macro"in R?(0,l.macroKeywordCode)(J,R):(R.compile||R.validate)&&(0,l.funcKeywordCode)(J,R)}const A=/^\/(?:[^~]|~0|~1)*$/,B=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Y(N,{dataLevel:j,dataNames:R,dataPathArr:z}){let J,te;if(N==="")return d.default.rootData;if(N[0]==="/"){if(!A.test(N))throw new Error(`Invalid JSON-pointer: ${N}`);J=N,te=d.default.rootData}else{const he=B.exec(N);if(!he)throw new Error(`Invalid JSON-pointer: ${N}`);const le=+he[1];if(J=he[2],J==="#"){if(le>=j)throw new Error(fe("property/index",le));return z[j-le]}if(le>j)throw new Error(fe("data",le));if(te=R[j-le],!J)return te}let ie=te;const $e=J.split("/");for(const he of $e)he&&(te=(0,u._)`${te}${(0,u.getProperty)((0,y.unescapeJsonPointer)(he))}`,ie=(0,u._)`${ie} && ${te}`);return ie;function fe(he,le){return`Cannot access ${he} ${le} levels up, current level is ${j}`}}return ke.getData=Y,ke}var it={},Nn;function ar(){if(Nn)return it;Nn=1,Object.defineProperty(it,"__esModule",{value:!0});class e extends Error{constructor(r){super("validation failed"),this.errors=r,this.ajv=this.validation=!0}}return it.default=e,it}var lt={},jn;function ct(){if(jn)return lt;jn=1,Object.defineProperty(lt,"__esModule",{value:!0});const e=st();class t extends Error{constructor(n,o,l,s){super(s||`can't resolve reference ${l} from id ${o}`),this.missingRef=(0,e.resolveUrl)(n,o,l),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(n,this.missingRef))}}return lt.default=t,lt}var ve={},In;function sr(){if(In)return ve;In=1,Object.defineProperty(ve,"__esModule",{value:!0}),ve.resolveSchema=ve.getCompilingSchema=ve.resolveRef=ve.compileSchema=ve.SchemaEnv=void 0;const e=Q(),t=ar(),r=Se(),n=st(),o=re(),l=He();class s{constructor(p){var a;this.refs={},this.dynamicAnchors={};let i;typeof p.schema=="object"&&(i=p.schema),this.schema=p.schema,this.schemaId=p.schemaId,this.root=p.root||this,this.baseId=(a=p.baseId)!==null&&a!==void 0?a:(0,n.normalizeId)(i?.[p.schemaId||"$id"]),this.schemaPath=p.schemaPath,this.localRefs=p.localRefs,this.meta=p.meta,this.$async=i?.$async,this.refs={}}}ve.SchemaEnv=s;function u(h){const p=y.call(this,h);if(p)return p;const a=(0,n.getFullPath)(this.opts.uriResolver,h.root.baseId),{es5:i,lines:w}=this.opts.code,{ownProperties:g}=this.opts,_=new e.CodeGen(this.scope,{es5:i,lines:w,ownProperties:g});let k;h.$async&&(k=_.scopeValue("Error",{ref:t.default,code:(0,e._)`require("ajv/dist/runtime/validation_error").default`}));const C=_.scopeName("validate");h.validateName=C;const q={gen:_,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:_.scopeValue("schema",this.opts.code.source===!0?{ref:h.schema,code:(0,e.stringify)(h.schema)}:{ref:h.schema}),validateName:C,ValidationError:k,schema:h.schema,schemaEnv:h,rootId:a,baseId:h.baseId||a,schemaPath:e.nil,errSchemaPath:h.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,e._)`""`,opts:this.opts,self:this};let L;try{this._compilations.add(h),(0,l.validateFunctionCode)(q),_.optimize(this.opts.code.optimize);const V=_.toString();L=`${_.scopeRefs(r.default.scope)}return ${V}`,this.opts.code.process&&(L=this.opts.code.process(L,h));const F=new Function(`${r.default.self}`,`${r.default.scope}`,L)(this,this.scope.get());if(this.scope.value(C,{ref:F}),F.errors=null,F.schema=h.schema,F.schemaEnv=h,h.$async&&(F.$async=!0),this.opts.code.source===!0&&(F.source={validateName:C,validateCode:V,scopeValues:_._values}),this.opts.unevaluated){const{props:K,items:G}=q;F.evaluated={props:K instanceof e.Name?void 0:K,items:G instanceof e.Name?void 0:G,dynamicProps:K instanceof e.Name,dynamicItems:G instanceof e.Name},F.source&&(F.source.evaluated=(0,e.stringify)(F.evaluated))}return h.validate=F,h}catch(V){throw delete h.validate,delete h.validateName,L&&this.logger.error("Error compiling schema, function code:",L),V}finally{this._compilations.delete(h)}}ve.compileSchema=u;function d(h,p,a){var i;a=(0,n.resolveUrl)(this.opts.uriResolver,p,a);const w=h.refs[a];if(w)return w;let g=b.call(this,h,a);if(g===void 0){const _=(i=h.localRefs)===null||i===void 0?void 0:i[a],{schemaId:k}=this.opts;_&&(g=new s({schema:_,schemaId:k,root:h,baseId:p}))}if(g!==void 0)return h.refs[a]=m.call(this,g)}ve.resolveRef=d;function m(h){return(0,n.inlineRef)(h.schema,this.opts.inlineRefs)?h.schema:h.validate?h:u.call(this,h)}function y(h){for(const p of this._compilations)if(S(p,h))return p}ve.getCompilingSchema=y;function S(h,p){return h.schema===p.schema&&h.root===p.root&&h.baseId===p.baseId}function b(h,p){let a;for(;typeof(a=this.refs[p])=="string";)p=a;return a||this.schemas[p]||c.call(this,h,p)}function c(h,p){const a=this.opts.uriResolver.parse(p),i=(0,n._getFullPath)(this.opts.uriResolver,a);let w=(0,n.getFullPath)(this.opts.uriResolver,h.baseId,void 0);if(Object.keys(h.schema).length>0&&i===w)return E.call(this,a,h);const g=(0,n.normalizeId)(i),_=this.refs[g]||this.schemas[g];if(typeof _=="string"){const k=c.call(this,h,_);return typeof k?.schema!="object"?void 0:E.call(this,a,k)}if(typeof _?.schema=="object"){if(_.validate||u.call(this,_),g===(0,n.normalizeId)(p)){const{schema:k}=_,{schemaId:C}=this.opts,q=k[C];return q&&(w=(0,n.resolveUrl)(this.opts.uriResolver,w,q)),new s({schema:k,schemaId:C,root:h,baseId:w})}return E.call(this,a,_)}}ve.resolveSchema=c;const v=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function E(h,{baseId:p,schema:a,root:i}){var w;if(((w=h.fragment)===null||w===void 0?void 0:w[0])!=="/")return;for(const k of h.fragment.slice(1).split("/")){if(typeof a=="boolean")return;const C=a[(0,o.unescapeFragment)(k)];if(C===void 0)return;a=C;const q=typeof a=="object"&&a[this.opts.schemaId];!v.has(k)&&q&&(p=(0,n.resolveUrl)(this.opts.uriResolver,p,q))}let g;if(typeof a!="boolean"&&a.$ref&&!(0,o.schemaHasRulesButRef)(a,this.RULES)){const k=(0,n.resolveUrl)(this.opts.uriResolver,p,a.$ref);g=c.call(this,i,k)}const{schemaId:_}=this.opts;if(g=g||new s({schema:a,schemaId:_,root:i,baseId:p}),g.schema!==g.root.schema)return g}return ve}const Wa="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",Ga="Meta-schema for $data reference (JSON AnySchema extension proposal)",Ja="object",Ha=["$data"],Za={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},Ya=!1,Xa={$id:Wa,description:Ga,type:Ja,required:Ha,properties:Za,additionalProperties:Ya};var ut={},Ze={exports:{}},ir,Tn;function On(){if(Tn)return ir;Tn=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 c="",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"";c+=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"";c+=b[E]}return c}const n=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function o(b){return b.length=0,!0}function l(b,c,v){if(b.length){const E=r(b);if(E!=="")c.push(E);else return v.error=!0,!1;b.length=0}return!0}function s(b){let c=0;const v={error:!1,address:"",zone:""},E=[],h=[];let p=!1,a=!1,i=l;for(let w=0;w<b.length;w++){const g=b[w];if(!(g==="["||g==="]"))if(g===":"){if(p===!0&&(a=!0),!i(h,E,v))break;if(++c>7){v.error=!0;break}w>0&&b[w-1]===":"&&(p=!0),E.push(":");continue}else if(g==="%"){if(!i(h,E,v))break;i=o}else{h.push(g);continue}}return h.length&&(i===o?v.zone=h.join(""):a?E.push(h.join("")):E.push(r(h))),v.address=E.join(""),v}function u(b){if(d(b,":")<2)return{host:b,isIPV6:!1};const c=s(b);if(c.error)return{host:b,isIPV6:!1};{let v=c.address,E=c.address;return c.zone&&(v+="%"+c.zone,E+="%25"+c.zone),{host:v,isIPV6:!0,escapedHost:E}}}function d(b,c){let v=0;for(let E=0;E<b.length;E++)b[E]===c&&v++;return v}function m(b){let c=b;const v=[];let E=-1,h=0;for(;h=c.length;){if(h===1){if(c===".")break;if(c==="/"){v.push("/");break}else{v.push(c);break}}else if(h===2){if(c[0]==="."){if(c[1]===".")break;if(c[1]==="/"){c=c.slice(2);continue}}else if(c[0]==="/"&&(c[1]==="."||c[1]==="/")){v.push("/");break}}else if(h===3&&c==="/.."){v.length!==0&&v.pop(),v.push("/");break}if(c[0]==="."){if(c[1]==="."){if(c[2]==="/"){c=c.slice(3);continue}}else if(c[1]==="/"){c=c.slice(2);continue}}else if(c[0]==="/"&&c[1]==="."){if(c[2]==="/"){c=c.slice(2);continue}else if(c[2]==="."&&c[3]==="/"){c=c.slice(3),v.length!==0&&v.pop();continue}}if((E=c.indexOf("/",1))===-1){v.push(c);break}else v.push(c.slice(0,E)),c=c.slice(E)}return v.join("")}function y(b,c){const v=c!==!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 S(b){const c=[];if(b.userinfo!==void 0&&(c.push(b.userinfo),c.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}c.push(v)}return(typeof b.port=="number"||typeof b.port=="string")&&(c.push(":"),c.push(String(b.port))),c.length?c.join(""):void 0}return ir={nonSimpleDomain:n,recomposeAuthority:S,normalizeComponentEncoding:y,removeDotSegments:m,isIPv4:t,isUUID:e,normalizeIPv6:u,stringArrayToHexStripped:r},ir}var lr,Cn;function Qa(){if(Cn)return lr;Cn=1;const{isUUID:e}=On(),t=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,r=["http","https","ws","wss","urn","urn:uuid"];function n(i){return r.indexOf(i)!==-1}function o(i){return i.secure===!0?!0:i.secure===!1?!1:i.scheme?i.scheme.length===3&&(i.scheme[0]==="w"||i.scheme[0]==="W")&&(i.scheme[1]==="s"||i.scheme[1]==="S")&&(i.scheme[2]==="s"||i.scheme[2]==="S"):!1}function l(i){return i.host||(i.error=i.error||"HTTP URIs must have a host."),i}function s(i){const w=String(i.scheme).toLowerCase()==="https";return(i.port===(w?443:80)||i.port==="")&&(i.port=void 0),i.path||(i.path="/"),i}function u(i){return i.secure=o(i),i.resourceName=(i.path||"/")+(i.query?"?"+i.query:""),i.path=void 0,i.query=void 0,i}function d(i){if((i.port===(o(i)?443:80)||i.port==="")&&(i.port=void 0),typeof i.secure=="boolean"&&(i.scheme=i.secure?"wss":"ws",i.secure=void 0),i.resourceName){const[w,g]=i.resourceName.split("?");i.path=w&&w!=="/"?w:void 0,i.query=g,i.resourceName=void 0}return i.fragment=void 0,i}function m(i,w){if(!i.path)return i.error="URN can not be parsed",i;const g=i.path.match(t);if(g){const _=w.scheme||i.scheme||"urn";i.nid=g[1].toLowerCase(),i.nss=g[2];const k=`${_}:${w.nid||i.nid}`,C=a(k);i.path=void 0,C&&(i=C.parse(i,w))}else i.error=i.error||"URN can not be parsed.";return i}function y(i,w){if(i.nid===void 0)throw new Error("URN without nid cannot be serialized");const g=w.scheme||i.scheme||"urn",_=i.nid.toLowerCase(),k=`${g}:${w.nid||_}`,C=a(k);C&&(i=C.serialize(i,w));const q=i,L=i.nss;return q.path=`${_||w.nid}:${L}`,w.skipEscape=!0,q}function S(i,w){const g=i;return g.uuid=g.nss,g.nss=void 0,!w.tolerant&&(!g.uuid||!e(g.uuid))&&(g.error=g.error||"UUID is not valid."),g}function b(i){const w=i;return w.nss=(i.uuid||"").toLowerCase(),w}const c={scheme:"http",domainHost:!0,parse:l,serialize:s},v={scheme:"https",domainHost:c.domainHost,parse:l,serialize:s},E={scheme:"ws",domainHost:!0,parse:u,serialize:d},h={scheme:"wss",domainHost:E.domainHost,parse:E.parse,serialize:E.serialize},p={http:c,https:v,ws:E,wss:h,urn:{scheme:"urn",parse:m,serialize:y,skipNormalize:!0},"urn:uuid":{scheme:"urn:uuid",parse:S,serialize:b,skipNormalize:!0}};Object.setPrototypeOf(p,null);function a(i){return i&&(p[i]||p[i.toLowerCase()])||void 0}return lr={wsIsSecure:o,SCHEMES:p,isValidSchemeName:n,getSchemeHandler:a},lr}var Rn;function es(){if(Rn)return Ze.exports;Rn=1;const{normalizeIPv6:e,removeDotSegments:t,recomposeAuthority:r,normalizeComponentEncoding:n,isIPv4:o,nonSimpleDomain:l}=On(),{SCHEMES:s,getSchemeHandler:u}=Qa();function d(h,p){return typeof h=="string"?h=b(v(h,p),p):typeof h=="object"&&(h=v(b(h,p),p)),h}function m(h,p,a){const i=a?Object.assign({scheme:"null"},a):{scheme:"null"},w=y(v(h,i),v(p,i),i,!0);return i.skipEscape=!0,b(w,i)}function y(h,p,a,i){const w={};return i||(h=v(b(h,a),a),p=v(b(p,a),a)),a=a||{},!a.tolerant&&p.scheme?(w.scheme=p.scheme,w.userinfo=p.userinfo,w.host=p.host,w.port=p.port,w.path=t(p.path||""),w.query=p.query):(p.userinfo!==void 0||p.host!==void 0||p.port!==void 0?(w.userinfo=p.userinfo,w.host=p.host,w.port=p.port,w.path=t(p.path||""),w.query=p.query):(p.path?(p.path[0]==="/"?w.path=t(p.path):((h.userinfo!==void 0||h.host!==void 0||h.port!==void 0)&&!h.path?w.path="/"+p.path:h.path?w.path=h.path.slice(0,h.path.lastIndexOf("/")+1)+p.path:w.path=p.path,w.path=t(w.path)),w.query=p.query):(w.path=h.path,p.query!==void 0?w.query=p.query:w.query=h.query),w.userinfo=h.userinfo,w.host=h.host,w.port=h.port),w.scheme=h.scheme),w.fragment=p.fragment,w}function S(h,p,a){return typeof h=="string"?(h=unescape(h),h=b(n(v(h,a),!0),{...a,skipEscape:!0})):typeof h=="object"&&(h=b(n(h,!0),{...a,skipEscape:!0})),typeof p=="string"?(p=unescape(p),p=b(n(v(p,a),!0),{...a,skipEscape:!0})):typeof p=="object"&&(p=b(n(p,!0),{...a,skipEscape:!0})),h.toLowerCase()===p.toLowerCase()}function b(h,p){const a={host:h.host,scheme:h.scheme,userinfo:h.userinfo,port:h.port,path:h.path,query:h.query,nid:h.nid,nss:h.nss,uuid:h.uuid,fragment:h.fragment,reference:h.reference,resourceName:h.resourceName,secure:h.secure,error:""},i=Object.assign({},p),w=[],g=u(i.scheme||a.scheme);g&&g.serialize&&g.serialize(a,i),a.path!==void 0&&(i.skipEscape?a.path=unescape(a.path):(a.path=escape(a.path),a.scheme!==void 0&&(a.path=a.path.split("%3A").join(":")))),i.reference!=="suffix"&&a.scheme&&w.push(a.scheme,":");const _=r(a);if(_!==void 0&&(i.reference!=="suffix"&&w.push("//"),w.push(_),a.path&&a.path[0]!=="/"&&w.push("/")),a.path!==void 0){let k=a.path;!i.absolutePath&&(!g||!g.absolutePath)&&(k=t(k)),_===void 0&&k[0]==="/"&&k[1]==="/"&&(k="/%2F"+k.slice(2)),w.push(k)}return a.query!==void 0&&w.push("?",a.query),a.fragment!==void 0&&w.push("#",a.fragment),w.join("")}const c=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function v(h,p){const a=Object.assign({},p),i={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0};let w=!1;a.reference==="suffix"&&(a.scheme?h=a.scheme+":"+h:h="//"+h);const g=h.match(c);if(g){if(i.scheme=g[1],i.userinfo=g[3],i.host=g[4],i.port=parseInt(g[5],10),i.path=g[6]||"",i.query=g[7],i.fragment=g[8],isNaN(i.port)&&(i.port=g[5]),i.host)if(o(i.host)===!1){const k=e(i.host);i.host=k.host.toLowerCase(),w=k.isIPV6}else w=!0;i.scheme===void 0&&i.userinfo===void 0&&i.host===void 0&&i.port===void 0&&i.query===void 0&&!i.path?i.reference="same-document":i.scheme===void 0?i.reference="relative":i.fragment===void 0?i.reference="absolute":i.reference="uri",a.reference&&a.reference!=="suffix"&&a.reference!==i.reference&&(i.error=i.error||"URI is not a "+a.reference+" reference.");const _=u(a.scheme||i.scheme);if(!a.unicodeSupport&&(!_||!_.unicodeSupport)&&i.host&&(a.domainHost||_&&_.domainHost)&&w===!1&&l(i.host))try{i.host=URL.domainToASCII(i.host.toLowerCase())}catch(k){i.error=i.error||"Host's domain name can not be converted to ASCII: "+k}(!_||_&&!_.skipNormalize)&&(h.indexOf("%")!==-1&&(i.scheme!==void 0&&(i.scheme=unescape(i.scheme)),i.host!==void 0&&(i.host=unescape(i.host))),i.path&&(i.path=escape(unescape(i.path))),i.fragment&&(i.fragment=encodeURI(decodeURIComponent(i.fragment)))),_&&_.parse&&_.parse(i,a)}else i.error=i.error||"URI can not be parsed.";return i}const E={SCHEMES:s,normalize:d,resolve:m,resolveComponent:y,equal:S,serialize:b,parse:v};return Ze.exports=E,Ze.exports.default=E,Ze.exports.fastUri=E,Ze.exports}var Vn;function ts(){if(Vn)return ut;Vn=1,Object.defineProperty(ut,"__esModule",{value:!0});const e=es();return e.code='require("ajv/dist/runtime/uri").default',ut.default=e,ut}var Mn;function rs(){return Mn||(Mn=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 n=ar(),o=ct(),l=hn(),s=sr(),u=Q(),d=st(),m=at(),y=re(),S=Xa,b=ts(),c=(M,I)=>new RegExp(M,I);c.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"]),h={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.'},a=200;function i(M){var I,T,x,f,P,O,D,A,B,Y,N,j,R,z,J,te,ie,$e,fe,he,le,Ae,ge,Kt,Bt;const Ue=M.strict,Wt=(I=M.code)===null||I===void 0?void 0:I.optimize,yr=Wt===!0||Wt===void 0?1:Wt||0,vr=(x=(T=M.code)===null||T===void 0?void 0:T.regExp)!==null&&x!==void 0?x:c,Zo=(f=M.uriResolver)!==null&&f!==void 0?f:b.default;return{strictSchema:(O=(P=M.strictSchema)!==null&&P!==void 0?P:Ue)!==null&&O!==void 0?O:!0,strictNumbers:(A=(D=M.strictNumbers)!==null&&D!==void 0?D:Ue)!==null&&A!==void 0?A:!0,strictTypes:(Y=(B=M.strictTypes)!==null&&B!==void 0?B:Ue)!==null&&Y!==void 0?Y:"log",strictTuples:(j=(N=M.strictTuples)!==null&&N!==void 0?N:Ue)!==null&&j!==void 0?j:"log",strictRequired:(z=(R=M.strictRequired)!==null&&R!==void 0?R:Ue)!==null&&z!==void 0?z:!1,code:M.code?{...M.code,optimize:yr,regExp:vr}:{optimize:yr,regExp:vr},loopRequired:(J=M.loopRequired)!==null&&J!==void 0?J:a,loopEnum:(te=M.loopEnum)!==null&&te!==void 0?te:a,meta:(ie=M.meta)!==null&&ie!==void 0?ie:!0,messages:($e=M.messages)!==null&&$e!==void 0?$e:!0,inlineRefs:(fe=M.inlineRefs)!==null&&fe!==void 0?fe:!0,schemaId:(he=M.schemaId)!==null&&he!==void 0?he:"$id",addUsedSchema:(le=M.addUsedSchema)!==null&&le!==void 0?le:!0,validateSchema:(Ae=M.validateSchema)!==null&&Ae!==void 0?Ae:!0,validateFormats:(ge=M.validateFormats)!==null&&ge!==void 0?ge:!0,unicodeRegExp:(Kt=M.unicodeRegExp)!==null&&Kt!==void 0?Kt:!0,int32range:(Bt=M.int32range)!==null&&Bt!==void 0?Bt:!0,uriResolver:Zo}}class w{constructor(I={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,I=this.opts={...I,...i(I)};const{es5:T,lines:x}=this.opts.code;this.scope=new u.ValueScope({scope:{},prefixes:E,es5:T,lines:x}),this.logger=F(I.logger);const f=I.validateFormats;I.validateFormats=!1,this.RULES=(0,l.getRules)(),g.call(this,h,I,"NOT SUPPORTED"),g.call(this,p,I,"DEPRECATED","warn"),this._metaOpts=L.call(this),I.formats&&C.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),I.keywords&&q.call(this,I.keywords),typeof I.meta=="object"&&this.addMetaSchema(I.meta),k.call(this),I.validateFormats=f}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:I,meta:T,schemaId:x}=this.opts;let f=S;x==="id"&&(f={...S},f.id=f.$id,delete f.$id),T&&I&&this.addMetaSchema(f,f[x],!1)}defaultMeta(){const{meta:I,schemaId:T}=this.opts;return this.opts.defaultMeta=typeof I=="object"?I[T]||I:void 0}validate(I,T){let x;if(typeof I=="string"){if(x=this.getSchema(I),!x)throw new Error(`no schema with key or ref "${I}"`)}else x=this.compile(I);const f=x(T);return"$async"in x||(this.errors=x.errors),f}compile(I,T){const x=this._addSchema(I,T);return x.validate||this._compileSchemaEnv(x)}compileAsync(I,T){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:x}=this.opts;return f.call(this,I,T);async function f(Y,N){await P.call(this,Y.$schema);const j=this._addSchema(Y,N);return j.validate||O.call(this,j)}async function P(Y){Y&&!this.getSchema(Y)&&await f.call(this,{$ref:Y},!0)}async function O(Y){try{return this._compileSchemaEnv(Y)}catch(N){if(!(N instanceof o.default))throw N;return D.call(this,N),await A.call(this,N.missingSchema),O.call(this,Y)}}function D({missingSchema:Y,missingRef:N}){if(this.refs[Y])throw new Error(`AnySchema ${Y} is loaded but ${N} cannot be resolved`)}async function A(Y){const N=await B.call(this,Y);this.refs[Y]||await P.call(this,N.$schema),this.refs[Y]||this.addSchema(N,Y,T)}async function B(Y){const N=this._loading[Y];if(N)return N;try{return await(this._loading[Y]=x(Y))}finally{delete this._loading[Y]}}}addSchema(I,T,x,f=this.opts.validateSchema){if(Array.isArray(I)){for(const O of I)this.addSchema(O,void 0,x,f);return this}let P;if(typeof I=="object"){const{schemaId:O}=this.opts;if(P=I[O],P!==void 0&&typeof P!="string")throw new Error(`schema ${O} must be string`)}return T=(0,d.normalizeId)(T||P),this._checkUnique(T),this.schemas[T]=this._addSchema(I,x,T,f,!0),this}addMetaSchema(I,T,x=this.opts.validateSchema){return this.addSchema(I,T,!0,x),this}validateSchema(I,T){if(typeof I=="boolean")return!0;let x;if(x=I.$schema,x!==void 0&&typeof x!="string")throw new Error("$schema must be a string");if(x=x||this.opts.defaultMeta||this.defaultMeta(),!x)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const f=this.validate(x,I);if(!f&&T){const P="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(P);else throw new Error(P)}return f}getSchema(I){let T;for(;typeof(T=_.call(this,I))=="string";)I=T;if(T===void 0){const{schemaId:x}=this.opts,f=new s.SchemaEnv({schema:{},schemaId:x});if(T=s.resolveSchema.call(this,f,I),!T)return;this.refs[I]=T}return T.validate||this._compileSchemaEnv(T)}removeSchema(I){if(I instanceof RegExp)return this._removeAllSchemas(this.schemas,I),this._removeAllSchemas(this.refs,I),this;switch(typeof I){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const T=_.call(this,I);return typeof T=="object"&&this._cache.delete(T.schema),delete this.schemas[I],delete this.refs[I],this}case"object":{const T=I;this._cache.delete(T);let x=I[this.opts.schemaId];return x&&(x=(0,d.normalizeId)(x),delete this.schemas[x],delete this.refs[x]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(I){for(const T of I)this.addKeyword(T);return this}addKeyword(I,T){let x;if(typeof I=="string")x=I,typeof T=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),T.keyword=x);else if(typeof I=="object"&&T===void 0){if(T=I,x=T.keyword,Array.isArray(x)&&!x.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(G.call(this,x,T),!T)return(0,y.eachItem)(x,P=>ae.call(this,P)),this;ue.call(this,T);const f={...T,type:(0,m.getJSONTypes)(T.type),schemaType:(0,m.getJSONTypes)(T.schemaType)};return(0,y.eachItem)(x,f.type.length===0?P=>ae.call(this,P,f):P=>f.type.forEach(O=>ae.call(this,P,f,O))),this}getKeyword(I){const T=this.RULES.all[I];return typeof T=="object"?T.definition:!!T}removeKeyword(I){const{RULES:T}=this;delete T.keywords[I],delete T.all[I];for(const x of T.rules){const f=x.rules.findIndex(P=>P.keyword===I);f>=0&&x.rules.splice(f,1)}return this}addFormat(I,T){return typeof T=="string"&&(T=new RegExp(T)),this.formats[I]=T,this}errorsText(I=this.errors,{separator:T=", ",dataVar:x="data"}={}){return!I||I.length===0?"No errors":I.map(f=>`${x}${f.instancePath} ${f.message}`).reduce((f,P)=>f+T+P)}$dataMetaSchema(I,T){const x=this.RULES.all;I=JSON.parse(JSON.stringify(I));for(const f of T){const P=f.split("/").slice(1);let O=I;for(const D of P)O=O[D];for(const D in x){const A=x[D];if(typeof A!="object")continue;const{$data:B}=A.definition,Y=O[D];B&&Y&&(O[D]=de(Y))}}return I}_removeAllSchemas(I,T){for(const x in I){const f=I[x];(!T||T.test(x))&&(typeof f=="string"?delete I[x]:f&&!f.meta&&(this._cache.delete(f.schema),delete I[x]))}}_addSchema(I,T,x,f=this.opts.validateSchema,P=this.opts.addUsedSchema){let O;const{schemaId:D}=this.opts;if(typeof I=="object")O=I[D];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof I!="boolean")throw new Error("schema must be object or boolean")}let A=this._cache.get(I);if(A!==void 0)return A;x=(0,d.normalizeId)(O||x);const B=d.getSchemaRefs.call(this,I,x);return A=new s.SchemaEnv({schema:I,schemaId:D,meta:T,baseId:x,localRefs:B}),this._cache.set(A.schema,A),P&&!x.startsWith("#")&&(x&&this._checkUnique(x),this.refs[x]=A),f&&this.validateSchema(I,!0),A}_checkUnique(I){if(this.schemas[I]||this.refs[I])throw new Error(`schema with key or id "${I}" already exists`)}_compileSchemaEnv(I){if(I.meta?this._compileMetaSchema(I):s.compileSchema.call(this,I),!I.validate)throw new Error("ajv implementation error");return I.validate}_compileMetaSchema(I){const T=this.opts;this.opts=this._metaOpts;try{s.compileSchema.call(this,I)}finally{this.opts=T}}}w.ValidationError=n.default,w.MissingRefError=o.default,e.default=w;function g(M,I,T,x="error"){for(const f in M){const P=f;P in I&&this.logger[x](`${T}: option ${f}. ${M[P]}`)}}function _(M){return M=(0,d.normalizeId)(M),this.schemas[M]||this.refs[M]}function k(){const M=this.opts.schemas;if(M)if(Array.isArray(M))this.addSchema(M);else for(const I in M)this.addSchema(M[I],I)}function C(){for(const M in this.opts.formats){const I=this.opts.formats[M];I&&this.addFormat(M,I)}}function q(M){if(Array.isArray(M)){this.addVocabulary(M);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const I in M){const T=M[I];T.keyword||(T.keyword=I),this.addKeyword(T)}}function L(){const M={...this.opts};for(const I of v)delete M[I];return M}const V={log(){},warn(){},error(){}};function F(M){if(M===!1)return V;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 K=/^[a-z_$][a-z0-9_$:-]*$/i;function G(M,I){const{RULES:T}=this;if((0,y.eachItem)(M,x=>{if(T.keywords[x])throw new Error(`Keyword ${x} is already defined`);if(!K.test(x))throw new Error(`Keyword ${x} has invalid name`)}),!!I&&I.$data&&!("code"in I||"validate"in I))throw new Error('$data keyword must have "code" or "validate" function')}function ae(M,I,T){var x;const f=I?.post;if(T&&f)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:P}=this;let O=f?P.post:P.rules.find(({type:A})=>A===T);if(O||(O={type:T,rules:[]},P.rules.push(O)),P.keywords[M]=!0,!I)return;const D={keyword:M,definition:{...I,type:(0,m.getJSONTypes)(I.type),schemaType:(0,m.getJSONTypes)(I.schemaType)}};I.before?se.call(this,O,D,I.before):O.rules.push(D),P.all[M]=D,(x=I.implements)===null||x===void 0||x.forEach(A=>this.addKeyword(A))}function se(M,I,T){const x=M.rules.findIndex(f=>f.keyword===T);x>=0?M.rules.splice(x,0,I):(M.rules.push(I),this.logger.warn(`rule ${T} is not defined`))}function ue(M){let{metaSchema:I}=M;I!==void 0&&(M.$data&&this.opts.$data&&(I=de(I)),M.validateSchema=this.compile(I,!0))}const ne={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function de(M){return{anyOf:[M,ne]}}})(Qr)),Qr}var dt={},pt={},ft={},An;function ns(){if(An)return ft;An=1,Object.defineProperty(ft,"__esModule",{value:!0});const e={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};return ft.default=e,ft}var Te={},qn;function os(){if(qn)return Te;qn=1,Object.defineProperty(Te,"__esModule",{value:!0}),Te.callRef=Te.getValidate=void 0;const e=ct(),t=_e(),r=Q(),n=Se(),o=sr(),l=re(),s={keyword:"$ref",schemaType:"string",code(m){const{gen:y,schema:S,it:b}=m,{baseId:c,schemaEnv:v,validateName:E,opts:h,self:p}=b,{root:a}=v;if((S==="#"||S==="#/")&&c===a.baseId)return w();const i=o.resolveRef.call(p,a,c,S);if(i===void 0)throw new e.default(b.opts.uriResolver,c,S);if(i instanceof o.SchemaEnv)return g(i);return _(i);function w(){if(v===a)return d(m,E,v,v.$async);const k=y.scopeValue("root",{ref:a});return d(m,(0,r._)`${k}.validate`,a,a.$async)}function g(k){const C=u(m,k);d(m,C,k,k.$async)}function _(k){const C=y.scopeValue("schema",h.code.source===!0?{ref:k,code:(0,r.stringify)(k)}:{ref:k}),q=y.name("valid"),L=m.subschema({schema:k,dataTypes:[],schemaPath:r.nil,topSchemaRef:C,errSchemaPath:S},q);m.mergeEvaluated(L),m.ok(q)}}};function u(m,y){const{gen:S}=m;return y.validate?S.scopeValue("validate",{ref:y.validate}):(0,r._)`${S.scopeValue("wrapper",{ref:y})}.validate`}Te.getValidate=u;function d(m,y,S,b){const{gen:c,it:v}=m,{allErrors:E,schemaEnv:h,opts:p}=v,a=p.passContext?n.default.this:r.nil;b?i():w();function i(){if(!h.$async)throw new Error("async schema referenced by sync schema");const k=c.let("valid");c.try(()=>{c.code((0,r._)`await ${(0,t.callValidateCode)(m,y,a)}`),_(y),E||c.assign(k,!0)},C=>{c.if((0,r._)`!(${C} instanceof ${v.ValidationError})`,()=>c.throw(C)),g(C),E||c.assign(k,!1)}),m.ok(k)}function w(){m.result((0,t.callValidateCode)(m,y,a),()=>_(y),()=>g(y))}function g(k){const C=(0,r._)`${k}.errors`;c.assign(n.default.vErrors,(0,r._)`${n.default.vErrors} === null ? ${C} : ${n.default.vErrors}.concat(${C})`),c.assign(n.default.errors,(0,r._)`${n.default.vErrors}.length`)}function _(k){var C;if(!v.opts.unevaluated)return;const q=(C=S?.validate)===null||C===void 0?void 0:C.evaluated;if(v.props!==!0)if(q&&!q.dynamicProps)q.props!==void 0&&(v.props=l.mergeEvaluated.props(c,q.props,v.props));else{const L=c.var("props",(0,r._)`${k}.evaluated.props`);v.props=l.mergeEvaluated.props(c,L,v.props,r.Name)}if(v.items!==!0)if(q&&!q.dynamicItems)q.items!==void 0&&(v.items=l.mergeEvaluated.items(c,q.items,v.items));else{const L=c.var("items",(0,r._)`${k}.evaluated.items`);v.items=l.mergeEvaluated.items(c,L,v.items,r.Name)}}}return Te.callRef=d,Te.default=s,Te}var zn;function as(){if(zn)return pt;zn=1,Object.defineProperty(pt,"__esModule",{value:!0});const e=ns(),t=os(),r=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e.default,t.default];return pt.default=r,pt}var ht={},mt={},Ln;function ss(){if(Ln)return mt;Ln=1,Object.defineProperty(mt,"__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}},n={message:({keyword:l,schemaCode:s})=>(0,e.str)`must be ${r[l].okStr} ${s}`,params:({keyword:l,schemaCode:s})=>(0,e._)`{comparison: ${r[l].okStr}, limit: ${s}}`},o={keyword:Object.keys(r),type:"number",schemaType:"number",$data:!0,error:n,code(l){const{keyword:s,data:u,schemaCode:d}=l;l.fail$data((0,e._)`${u} ${r[s].fail} ${d} || isNaN(${u})`)}};return mt.default=o,mt}var yt={},Dn;function is(){if(Dn)return yt;Dn=1,Object.defineProperty(yt,"__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:n,data:o,schemaCode:l,it:s}=r,u=s.opts.multipleOfPrecision,d=n.let("res"),m=u?(0,e._)`Math.abs(Math.round(${d}) - ${d}) > 1e-${u}`:(0,e._)`${d} !== parseInt(${d})`;r.fail$data((0,e._)`(${l} === 0 || (${d} = ${o}/${l}, ${m}))`)}};return yt.default=t,yt}var vt={},gt={},Un;function ls(){if(Un)return gt;Un=1,Object.defineProperty(gt,"__esModule",{value:!0});function e(t){const r=t.length;let n=0,o=0,l;for(;o<r;)n++,l=t.charCodeAt(o++),l>=55296&&l<=56319&&o<r&&(l=t.charCodeAt(o),(l&64512)===56320&&o++);return n}return gt.default=e,e.code='require("ajv/dist/runtime/ucs2length").default',gt}var Fn;function cs(){if(Fn)return vt;Fn=1,Object.defineProperty(vt,"__esModule",{value:!0});const e=Q(),t=re(),r=ls(),n={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:o,schemaCode:l}){const s=o==="maxLength"?"more":"fewer";return(0,e.str)`must NOT have ${s} than ${l} characters`},params:({schemaCode:o})=>(0,e._)`{limit: ${o}}`},code(o){const{keyword:l,data:s,schemaCode:u,it:d}=o,m=l==="maxLength"?e.operators.GT:e.operators.LT,y=d.opts.unicode===!1?(0,e._)`${s}.length`:(0,e._)`${(0,t.useFunc)(o.gen,r.default)}(${s})`;o.fail$data((0,e._)`${y} ${m} ${u}`)}};return vt.default=n,vt}var bt={},Kn;function us(){if(Kn)return bt;Kn=1,Object.defineProperty(bt,"__esModule",{value:!0});const e=_e(),t=re(),r=Q(),n={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:o})=>(0,r.str)`must match pattern "${o}"`,params:({schemaCode:o})=>(0,r._)`{pattern: ${o}}`},code(o){const{gen:l,data:s,$data:u,schema:d,schemaCode:m,it:y}=o,S=y.opts.unicodeRegExp?"u":"";if(u){const{regExp:b}=y.opts.code,c=b.code==="new RegExp"?(0,r._)`new RegExp`:(0,t.useFunc)(l,b),v=l.let("valid");l.try(()=>l.assign(v,(0,r._)`${c}(${m}, ${S}).test(${s})`),()=>l.assign(v,!1)),o.fail$data((0,r._)`!${v}`)}else{const b=(0,e.usePattern)(o,d);o.fail$data((0,r._)`!${b}.test(${s})`)}}};return bt.default=n,bt}var $t={},Bn;function ds(){if(Bn)return $t;Bn=1,Object.defineProperty($t,"__esModule",{value:!0});const e=Q(),t={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:r,schemaCode:n}){const o=r==="maxProperties"?"more":"fewer";return(0,e.str)`must NOT have ${o} than ${n} properties`},params:({schemaCode:r})=>(0,e._)`{limit: ${r}}`},code(r){const{keyword:n,data:o,schemaCode:l}=r,s=n==="maxProperties"?e.operators.GT:e.operators.LT;r.fail$data((0,e._)`Object.keys(${o}).length ${s} ${l}`)}};return $t.default=t,$t}var wt={},Wn;function ps(){if(Wn)return wt;Wn=1,Object.defineProperty(wt,"__esModule",{value:!0});const e=_e(),t=Q(),r=re(),n={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:o}})=>(0,t.str)`must have required property '${o}'`,params:({params:{missingProperty:o}})=>(0,t._)`{missingProperty: ${o}}`},code(o){const{gen:l,schema:s,schemaCode:u,data:d,$data:m,it:y}=o,{opts:S}=y;if(!m&&s.length===0)return;const b=s.length>=S.loopRequired;if(y.allErrors?c():v(),S.strictRequired){const p=o.parentSchema.properties,{definedProperties:a}=o.it;for(const i of s)if(p?.[i]===void 0&&!a.has(i)){const w=y.schemaEnv.baseId+y.errSchemaPath,g=`required property "${i}" is not defined at "${w}" (strictRequired)`;(0,r.checkStrictMode)(y,g,y.opts.strictRequired)}}function c(){if(b||m)o.block$data(t.nil,E);else for(const p of s)(0,e.checkReportMissingProp)(o,p)}function v(){const p=l.let("missing");if(b||m){const a=l.let("valid",!0);o.block$data(a,()=>h(p,a)),o.ok(a)}else l.if((0,e.checkMissingProp)(o,s,p)),(0,e.reportMissingProp)(o,p),l.else()}function E(){l.forOf("prop",u,p=>{o.setParams({missingProperty:p}),l.if((0,e.noPropertyInData)(l,d,p,S.ownProperties),()=>o.error())})}function h(p,a){o.setParams({missingProperty:p}),l.forOf(p,u,()=>{l.assign(a,(0,e.propertyInData)(l,d,p,S.ownProperties)),l.if((0,t.not)(a),()=>{o.error(),l.break()})},t.nil)}}};return wt.default=n,wt}var _t={},Gn;function fs(){if(Gn)return _t;Gn=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:n}){const o=r==="maxItems"?"more":"fewer";return(0,e.str)`must NOT have ${o} than ${n} items`},params:({schemaCode:r})=>(0,e._)`{limit: ${r}}`},code(r){const{keyword:n,data:o,schemaCode:l}=r,s=n==="maxItems"?e.operators.GT:e.operators.LT;r.fail$data((0,e._)`${o}.length ${s} ${l}`)}};return _t.default=t,_t}var Pt={},Et={},Jn;function cr(){if(Jn)return Et;Jn=1,Object.defineProperty(Et,"__esModule",{value:!0});const e=En();return e.code='require("ajv/dist/runtime/equal").default',Et.default=e,Et}var Hn;function hs(){if(Hn)return Pt;Hn=1,Object.defineProperty(Pt,"__esModule",{value:!0});const e=at(),t=Q(),r=re(),n=cr(),o={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:l,j:s}})=>(0,t.str)`must NOT have duplicate items (items ## ${s} and ${l} are identical)`,params:({params:{i:l,j:s}})=>(0,t._)`{i: ${l}, j: ${s}}`},code(l){const{gen:s,data:u,$data:d,schema:m,parentSchema:y,schemaCode:S,it:b}=l;if(!d&&!m)return;const c=s.let("valid"),v=y.items?(0,e.getSchemaTypes)(y.items):[];l.block$data(c,E,(0,t._)`${S} === false`),l.ok(c);function E(){const i=s.let("i",(0,t._)`${u}.length`),w=s.let("j");l.setParams({i,j:w}),s.assign(c,!0),s.if((0,t._)`${i} > 1`,()=>(h()?p:a)(i,w))}function h(){return v.length>0&&!v.some(i=>i==="object"||i==="array")}function p(i,w){const g=s.name("item"),_=(0,e.checkDataTypes)(v,g,b.opts.strictNumbers,e.DataType.Wrong),k=s.const("indices",(0,t._)`{}`);s.for((0,t._)`;${i}--;`,()=>{s.let(g,(0,t._)`${u}[${i}]`),s.if(_,(0,t._)`continue`),v.length>1&&s.if((0,t._)`typeof ${g} == "string"`,(0,t._)`${g} += "_"`),s.if((0,t._)`typeof ${k}[${g}] == "number"`,()=>{s.assign(w,(0,t._)`${k}[${g}]`),l.error(),s.assign(c,!1).break()}).code((0,t._)`${k}[${g}] = ${i}`)})}function a(i,w){const g=(0,r.useFunc)(s,n.default),_=s.name("outer");s.label(_).for((0,t._)`;${i}--;`,()=>s.for((0,t._)`${w} = ${i}; ${w}--;`,()=>s.if((0,t._)`${g}(${u}[${i}], ${u}[${w}])`,()=>{l.error(),s.assign(c,!1).break(_)})))}}};return Pt.default=o,Pt}var kt={},Zn;function ms(){if(Zn)return kt;Zn=1,Object.defineProperty(kt,"__esModule",{value:!0});const e=Q(),t=re(),r=cr(),n={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:o})=>(0,e._)`{allowedValue: ${o}}`},code(o){const{gen:l,data:s,$data:u,schemaCode:d,schema:m}=o;u||m&&typeof m=="object"?o.fail$data((0,e._)`!${(0,t.useFunc)(l,r.default)}(${s}, ${d})`):o.fail((0,e._)`${m} !== ${s}`)}};return kt.default=n,kt}var St={},Yn;function ys(){if(Yn)return St;Yn=1,Object.defineProperty(St,"__esModule",{value:!0});const e=Q(),t=re(),r=cr(),n={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:o})=>(0,e._)`{allowedValues: ${o}}`},code(o){const{gen:l,data:s,$data:u,schema:d,schemaCode:m,it:y}=o;if(!u&&d.length===0)throw new Error("enum must have non-empty array");const S=d.length>=y.opts.loopEnum;let b;const c=()=>b??(b=(0,t.useFunc)(l,r.default));let v;if(S||u)v=l.let("valid"),o.block$data(v,E);else{if(!Array.isArray(d))throw new Error("ajv implementation error");const p=l.const("vSchema",m);v=(0,e.or)(...d.map((a,i)=>h(p,i)))}o.pass(v);function E(){l.assign(v,!1),l.forOf("v",m,p=>l.if((0,e._)`${c()}(${s}, ${p})`,()=>l.assign(v,!0).break()))}function h(p,a){const i=d[a];return typeof i=="object"&&i!==null?(0,e._)`${c()}(${s}, ${p}[${a}])`:(0,e._)`${s} === ${i}`}}};return St.default=n,St}var Xn;function vs(){if(Xn)return ht;Xn=1,Object.defineProperty(ht,"__esModule",{value:!0});const e=ss(),t=is(),r=cs(),n=us(),o=ds(),l=ps(),s=fs(),u=hs(),d=ms(),m=ys(),y=[e.default,t.default,r.default,n.default,o.default,l.default,s.default,u.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},d.default,m.default];return ht.default=y,ht}var xt={},ze={},Qn;function eo(){if(Qn)return ze;Qn=1,Object.defineProperty(ze,"__esModule",{value:!0}),ze.validateAdditionalItems=void 0;const e=Q(),t=re(),r={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:o}})=>(0,e.str)`must NOT have more than ${o} items`,params:({params:{len:o}})=>(0,e._)`{limit: ${o}}`},code(o){const{parentSchema:l,it:s}=o,{items:u}=l;if(!Array.isArray(u)){(0,t.checkStrictMode)(s,'"additionalItems" is ignored when "items" is not an array of schemas');return}n(o,u)}};function n(o,l){const{gen:s,schema:u,data:d,keyword:m,it:y}=o;y.items=!0;const S=s.const("len",(0,e._)`${d}.length`);if(u===!1)o.setParams({len:l.length}),o.pass((0,e._)`${S} <= ${l.length}`);else if(typeof u=="object"&&!(0,t.alwaysValidSchema)(y,u)){const c=s.var("valid",(0,e._)`${S} <= ${l.length}`);s.if((0,e.not)(c),()=>b(c)),o.ok(c)}function b(c){s.forRange("i",l.length,S,v=>{o.subschema({keyword:m,dataProp:v,dataPropType:t.Type.Num},c),y.allErrors||s.if((0,e.not)(c),()=>s.break())})}}return ze.validateAdditionalItems=n,ze.default=r,ze}var Nt={},Le={},to;function ro(){if(to)return Le;to=1,Object.defineProperty(Le,"__esModule",{value:!0}),Le.validateTuple=void 0;const e=Q(),t=re(),r=_e(),n={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(l){const{schema:s,it:u}=l;if(Array.isArray(s))return o(l,"additionalItems",s);u.items=!0,!(0,t.alwaysValidSchema)(u,s)&&l.ok((0,r.validateArray)(l))}};function o(l,s,u=l.schema){const{gen:d,parentSchema:m,data:y,keyword:S,it:b}=l;E(m),b.opts.unevaluated&&u.length&&b.items!==!0&&(b.items=t.mergeEvaluated.items(d,u.length,b.items));const c=d.name("valid"),v=d.const("len",(0,e._)`${y}.length`);u.forEach((h,p)=>{(0,t.alwaysValidSchema)(b,h)||(d.if((0,e._)`${v} > ${p}`,()=>l.subschema({keyword:S,schemaProp:p,dataProp:p},c)),l.ok(c))});function E(h){const{opts:p,errSchemaPath:a}=b,i=u.length,w=i===h.minItems&&(i===h.maxItems||h[s]===!1);if(p.strictTuples&&!w){const g=`"${S}" is ${i}-tuple, but minItems or maxItems/${s} are not specified or different at path "${a}"`;(0,t.checkStrictMode)(b,g,p.strictTuples)}}}return Le.validateTuple=o,Le.default=n,Le}var no;function gs(){if(no)return Nt;no=1,Object.defineProperty(Nt,"__esModule",{value:!0});const e=ro(),t={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:r=>(0,e.validateTuple)(r,"items")};return Nt.default=t,Nt}var jt={},oo;function bs(){if(oo)return jt;oo=1,Object.defineProperty(jt,"__esModule",{value:!0});const e=Q(),t=re(),r=_e(),n=eo(),o={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:l}})=>(0,e.str)`must NOT have more than ${l} items`,params:({params:{len:l}})=>(0,e._)`{limit: ${l}}`},code(l){const{schema:s,parentSchema:u,it:d}=l,{prefixItems:m}=u;d.items=!0,!(0,t.alwaysValidSchema)(d,s)&&(m?(0,n.validateAdditionalItems)(l,m):l.ok((0,r.validateArray)(l)))}};return jt.default=o,jt}var It={},ao;function $s(){if(ao)return It;ao=1,Object.defineProperty(It,"__esModule",{value:!0});const e=Q(),t=re(),r={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:n,max:o}})=>o===void 0?(0,e.str)`must contain at least ${n} valid item(s)`:(0,e.str)`must contain at least ${n} and no more than ${o} valid item(s)`,params:({params:{min:n,max:o}})=>o===void 0?(0,e._)`{minContains: ${n}}`:(0,e._)`{minContains: ${n}, maxContains: ${o}}`},code(n){const{gen:o,schema:l,parentSchema:s,data:u,it:d}=n;let m,y;const{minContains:S,maxContains:b}=s;d.opts.next?(m=S===void 0?1:S,y=b):m=1;const c=o.const("len",(0,e._)`${u}.length`);if(n.setParams({min:m,max:y}),y===void 0&&m===0){(0,t.checkStrictMode)(d,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(y!==void 0&&m>y){(0,t.checkStrictMode)(d,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,t.alwaysValidSchema)(d,l)){let a=(0,e._)`${c} >= ${m}`;y!==void 0&&(a=(0,e._)`${a} && ${c} <= ${y}`),n.pass(a);return}d.items=!0;const v=o.name("valid");y===void 0&&m===1?h(v,()=>o.if(v,()=>o.break())):m===0?(o.let(v,!0),y!==void 0&&o.if((0,e._)`${u}.length > 0`,E)):(o.let(v,!1),E()),n.result(v,()=>n.reset());function E(){const a=o.name("_valid"),i=o.let("count",0);h(a,()=>o.if(a,()=>p(i)))}function h(a,i){o.forRange("i",0,c,w=>{n.subschema({keyword:"contains",dataProp:w,dataPropType:t.Type.Num,compositeRule:!0},a),i()})}function p(a){o.code((0,e._)`${a}++`),y===void 0?o.if((0,e._)`${a} >= ${m}`,()=>o.assign(v,!0).break()):(o.if((0,e._)`${a} > ${y}`,()=>o.assign(v,!1).break()),m===1?o.assign(v,!0):o.if((0,e._)`${a} >= ${m}`,()=>o.assign(v,!0)))}}};return It.default=r,It}var so={},io;function ws(){return io||(io=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=Q(),r=re(),n=_e();e.error={message:({params:{property:d,depsCount:m,deps:y}})=>{const S=m===1?"property":"properties";return(0,t.str)`must have ${S} ${y} when property ${d} is present`},params:({params:{property:d,depsCount:m,deps:y,missingProperty:S}})=>(0,t._)`{property: ${d},
7
+ missingProperty: ${S},
8
+ depsCount: ${m},
9
+ deps: ${y}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(d){const[m,y]=l(d);s(d,m),u(d,y)}};function l({schema:d}){const m={},y={};for(const S in d){if(S==="__proto__")continue;const b=Array.isArray(d[S])?m:y;b[S]=d[S]}return[m,y]}function s(d,m=d.schema){const{gen:y,data:S,it:b}=d;if(Object.keys(m).length===0)return;const c=y.let("missing");for(const v in m){const E=m[v];if(E.length===0)continue;const h=(0,n.propertyInData)(y,S,v,b.opts.ownProperties);d.setParams({property:v,depsCount:E.length,deps:E.join(", ")}),b.allErrors?y.if(h,()=>{for(const p of E)(0,n.checkReportMissingProp)(d,p)}):(y.if((0,t._)`${h} && (${(0,n.checkMissingProp)(d,E,c)})`),(0,n.reportMissingProp)(d,c),y.else())}}e.validatePropertyDeps=s;function u(d,m=d.schema){const{gen:y,data:S,keyword:b,it:c}=d,v=y.name("valid");for(const E in m)(0,r.alwaysValidSchema)(c,m[E])||(y.if((0,n.propertyInData)(y,S,E,c.opts.ownProperties),()=>{const h=d.subschema({keyword:b,schemaProp:E},v);d.mergeValidEvaluated(h,v)},()=>y.var(v,!0)),d.ok(v))}e.validateSchemaDeps=u,e.default=o})(so)),so}var Tt={},lo;function _s(){if(lo)return Tt;lo=1,Object.defineProperty(Tt,"__esModule",{value:!0});const e=Q(),t=re(),r={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:n})=>(0,e._)`{propertyName: ${n.propertyName}}`},code(n){const{gen:o,schema:l,data:s,it:u}=n;if((0,t.alwaysValidSchema)(u,l))return;const d=o.name("valid");o.forIn("key",s,m=>{n.setParams({propertyName:m}),n.subschema({keyword:"propertyNames",data:m,dataTypes:["string"],propertyName:m,compositeRule:!0},d),o.if((0,e.not)(d),()=>{n.error(!0),u.allErrors||o.break()})}),n.ok(d)}};return Tt.default=r,Tt}var Ot={},co;function uo(){if(co)return Ot;co=1,Object.defineProperty(Ot,"__esModule",{value:!0});const e=_e(),t=Q(),r=Se(),n=re(),o={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:l})=>(0,t._)`{additionalProperty: ${l.additionalProperty}}`},code(l){const{gen:s,schema:u,parentSchema:d,data:m,errsCount:y,it:S}=l;if(!y)throw new Error("ajv implementation error");const{allErrors:b,opts:c}=S;if(S.props=!0,c.removeAdditional!=="all"&&(0,n.alwaysValidSchema)(S,u))return;const v=(0,e.allSchemaProperties)(d.properties),E=(0,e.allSchemaProperties)(d.patternProperties);h(),l.ok((0,t._)`${y} === ${r.default.errors}`);function h(){s.forIn("key",m,g=>{!v.length&&!E.length?i(g):s.if(p(g),()=>i(g))})}function p(g){let _;if(v.length>8){const k=(0,n.schemaRefOrVal)(S,d.properties,"properties");_=(0,e.isOwnProperty)(s,k,g)}else v.length?_=(0,t.or)(...v.map(k=>(0,t._)`${g} === ${k}`)):_=t.nil;return E.length&&(_=(0,t.or)(_,...E.map(k=>(0,t._)`${(0,e.usePattern)(l,k)}.test(${g})`))),(0,t.not)(_)}function a(g){s.code((0,t._)`delete ${m}[${g}]`)}function i(g){if(c.removeAdditional==="all"||c.removeAdditional&&u===!1){a(g);return}if(u===!1){l.setParams({additionalProperty:g}),l.error(),b||s.break();return}if(typeof u=="object"&&!(0,n.alwaysValidSchema)(S,u)){const _=s.name("valid");c.removeAdditional==="failing"?(w(g,_,!1),s.if((0,t.not)(_),()=>{l.reset(),a(g)})):(w(g,_),b||s.if((0,t.not)(_),()=>s.break()))}}function w(g,_,k){const C={keyword:"additionalProperties",dataProp:g,dataPropType:n.Type.Str};k===!1&&Object.assign(C,{compositeRule:!0,createErrors:!1,allErrors:!1}),l.subschema(C,_)}}};return Ot.default=o,Ot}var Ct={},po;function Ps(){if(po)return Ct;po=1,Object.defineProperty(Ct,"__esModule",{value:!0});const e=He(),t=_e(),r=re(),n=uo(),o={keyword:"properties",type:"object",schemaType:"object",code(l){const{gen:s,schema:u,parentSchema:d,data:m,it:y}=l;y.opts.removeAdditional==="all"&&d.additionalProperties===void 0&&n.default.code(new e.KeywordCxt(y,n.default,"additionalProperties"));const S=(0,t.allSchemaProperties)(u);for(const h of S)y.definedProperties.add(h);y.opts.unevaluated&&S.length&&y.props!==!0&&(y.props=r.mergeEvaluated.props(s,(0,r.toHash)(S),y.props));const b=S.filter(h=>!(0,r.alwaysValidSchema)(y,u[h]));if(b.length===0)return;const c=s.name("valid");for(const h of b)v(h)?E(h):(s.if((0,t.propertyInData)(s,m,h,y.opts.ownProperties)),E(h),y.allErrors||s.else().var(c,!0),s.endIf()),l.it.definedProperties.add(h),l.ok(c);function v(h){return y.opts.useDefaults&&!y.compositeRule&&u[h].default!==void 0}function E(h){l.subschema({keyword:"properties",schemaProp:h,dataProp:h},c)}}};return Ct.default=o,Ct}var Rt={},fo;function Es(){if(fo)return Rt;fo=1,Object.defineProperty(Rt,"__esModule",{value:!0});const e=_e(),t=Q(),r=re(),n=re(),o={keyword:"patternProperties",type:"object",schemaType:"object",code(l){const{gen:s,schema:u,data:d,parentSchema:m,it:y}=l,{opts:S}=y,b=(0,e.allSchemaProperties)(u),c=b.filter(w=>(0,r.alwaysValidSchema)(y,u[w]));if(b.length===0||c.length===b.length&&(!y.opts.unevaluated||y.props===!0))return;const v=S.strictSchema&&!S.allowMatchingProperties&&m.properties,E=s.name("valid");y.props!==!0&&!(y.props instanceof t.Name)&&(y.props=(0,n.evaluatedPropsToName)(s,y.props));const{props:h}=y;p();function p(){for(const w of b)v&&a(w),y.allErrors?i(w):(s.var(E,!0),i(w),s.if(E))}function a(w){for(const g in v)new RegExp(w).test(g)&&(0,r.checkStrictMode)(y,`property ${g} matches pattern ${w} (use allowMatchingProperties)`)}function i(w){s.forIn("key",d,g=>{s.if((0,t._)`${(0,e.usePattern)(l,w)}.test(${g})`,()=>{const _=c.includes(w);_||l.subschema({keyword:"patternProperties",schemaProp:w,dataProp:g,dataPropType:n.Type.Str},E),y.opts.unevaluated&&h!==!0?s.assign((0,t._)`${h}[${g}]`,!0):!_&&!y.allErrors&&s.if((0,t.not)(E),()=>s.break())})})}}};return Rt.default=o,Rt}var Vt={},ho;function ks(){if(ho)return Vt;ho=1,Object.defineProperty(Vt,"__esModule",{value:!0});const e=re(),t={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(r){const{gen:n,schema:o,it:l}=r;if((0,e.alwaysValidSchema)(l,o)){r.fail();return}const s=n.name("valid");r.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),r.failResult(s,()=>r.reset(),()=>r.error())},error:{message:"must NOT be valid"}};return Vt.default=t,Vt}var Mt={},mo;function Ss(){if(mo)return Mt;mo=1,Object.defineProperty(Mt,"__esModule",{value:!0});const e={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:_e().validateUnion,error:{message:"must match a schema in anyOf"}};return Mt.default=e,Mt}var At={},yo;function xs(){if(yo)return At;yo=1,Object.defineProperty(At,"__esModule",{value:!0});const e=Q(),t=re(),r={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:n})=>(0,e._)`{passingSchemas: ${n.passing}}`},code(n){const{gen:o,schema:l,parentSchema:s,it:u}=n;if(!Array.isArray(l))throw new Error("ajv implementation error");if(u.opts.discriminator&&s.discriminator)return;const d=l,m=o.let("valid",!1),y=o.let("passing",null),S=o.name("_valid");n.setParams({passing:y}),o.block(b),n.result(m,()=>n.reset(),()=>n.error(!0));function b(){d.forEach((c,v)=>{let E;(0,t.alwaysValidSchema)(u,c)?o.var(S,!0):E=n.subschema({keyword:"oneOf",schemaProp:v,compositeRule:!0},S),v>0&&o.if((0,e._)`${S} && ${m}`).assign(m,!1).assign(y,(0,e._)`[${y}, ${v}]`).else(),o.if(S,()=>{o.assign(m,!0),o.assign(y,v),E&&n.mergeEvaluated(E,e.Name)})})}}};return At.default=r,At}var qt={},vo;function Ns(){if(vo)return qt;vo=1,Object.defineProperty(qt,"__esModule",{value:!0});const e=re(),t={keyword:"allOf",schemaType:"array",code(r){const{gen:n,schema:o,it:l}=r;if(!Array.isArray(o))throw new Error("ajv implementation error");const s=n.name("valid");o.forEach((u,d)=>{if((0,e.alwaysValidSchema)(l,u))return;const m=r.subschema({keyword:"allOf",schemaProp:d},s);r.ok(s),r.mergeEvaluated(m)})}};return qt.default=t,qt}var zt={},go;function js(){if(go)return zt;go=1,Object.defineProperty(zt,"__esModule",{value:!0});const e=Q(),t=re(),r={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:o})=>(0,e.str)`must match "${o.ifClause}" schema`,params:({params:o})=>(0,e._)`{failingKeyword: ${o.ifClause}}`},code(o){const{gen:l,parentSchema:s,it:u}=o;s.then===void 0&&s.else===void 0&&(0,t.checkStrictMode)(u,'"if" without "then" and "else" is ignored');const d=n(u,"then"),m=n(u,"else");if(!d&&!m)return;const y=l.let("valid",!0),S=l.name("_valid");if(b(),o.reset(),d&&m){const v=l.let("ifClause");o.setParams({ifClause:v}),l.if(S,c("then",v),c("else",v))}else d?l.if(S,c("then")):l.if((0,e.not)(S),c("else"));o.pass(y,()=>o.error(!0));function b(){const v=o.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},S);o.mergeEvaluated(v)}function c(v,E){return()=>{const h=o.subschema({keyword:v},S);l.assign(y,S),o.mergeValidEvaluated(h,y),E?l.assign(E,(0,e._)`${v}`):o.setParams({ifClause:v})}}}};function n(o,l){const s=o.schema[l];return s!==void 0&&!(0,t.alwaysValidSchema)(o,s)}return zt.default=r,zt}var Lt={},bo;function Is(){if(bo)return Lt;bo=1,Object.defineProperty(Lt,"__esModule",{value:!0});const e=re(),t={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:r,parentSchema:n,it:o}){n.if===void 0&&(0,e.checkStrictMode)(o,`"${r}" without "if" is ignored`)}};return Lt.default=t,Lt}var $o;function Ts(){if($o)return xt;$o=1,Object.defineProperty(xt,"__esModule",{value:!0});const e=eo(),t=gs(),r=ro(),n=bs(),o=$s(),l=ws(),s=_s(),u=uo(),d=Ps(),m=Es(),y=ks(),S=Ss(),b=xs(),c=Ns(),v=js(),E=Is();function h(p=!1){const a=[y.default,S.default,b.default,c.default,v.default,E.default,s.default,u.default,l.default,d.default,m.default];return p?a.push(t.default,n.default):a.push(e.default,r.default),a.push(o.default),a}return xt.default=h,xt}var Dt={},Ut={},wo;function Os(){if(wo)return Ut;wo=1,Object.defineProperty(Ut,"__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,n){const{gen:o,data:l,$data:s,schema:u,schemaCode:d,it:m}=r,{opts:y,errSchemaPath:S,schemaEnv:b,self:c}=m;if(!y.validateFormats)return;s?v():E();function v(){const h=o.scopeValue("formats",{ref:c.formats,code:y.code.formats}),p=o.const("fDef",(0,e._)`${h}[${d}]`),a=o.let("fType"),i=o.let("format");o.if((0,e._)`typeof ${p} == "object" && !(${p} instanceof RegExp)`,()=>o.assign(a,(0,e._)`${p}.type || "string"`).assign(i,(0,e._)`${p}.validate`),()=>o.assign(a,(0,e._)`"string"`).assign(i,p)),r.fail$data((0,e.or)(w(),g()));function w(){return y.strictSchema===!1?e.nil:(0,e._)`${d} && !${i}`}function g(){const _=b.$async?(0,e._)`(${p}.async ? await ${i}(${l}) : ${i}(${l}))`:(0,e._)`${i}(${l})`,k=(0,e._)`(typeof ${i} == "function" ? ${_} : ${i}.test(${l}))`;return(0,e._)`${i} && ${i} !== true && ${a} === ${n} && !${k}`}}function E(){const h=c.formats[u];if(!h){w();return}if(h===!0)return;const[p,a,i]=g(h);p===n&&r.pass(_());function w(){if(y.strictSchema===!1){c.logger.warn(k());return}throw new Error(k());function k(){return`unknown format "${u}" ignored in schema at path "${S}"`}}function g(k){const C=k instanceof RegExp?(0,e.regexpCode)(k):y.code.formats?(0,e._)`${y.code.formats}${(0,e.getProperty)(u)}`:void 0,q=o.scopeValue("formats",{key:u,ref:k,code:C});return typeof k=="object"&&!(k instanceof RegExp)?[k.type||"string",k.validate,(0,e._)`${q}.validate`]:["string",k,q]}function _(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!b.$async)throw new Error("async format in sync schema");return(0,e._)`await ${i}(${l})`}return typeof a=="function"?(0,e._)`${i}(${l})`:(0,e._)`${i}.test(${l})`}}}};return Ut.default=t,Ut}var _o;function Cs(){if(_o)return Dt;_o=1,Object.defineProperty(Dt,"__esModule",{value:!0});const e=[Os().default];return Dt.default=e,Dt}var De={},Po;function Rs(){return Po||(Po=1,Object.defineProperty(De,"__esModule",{value:!0}),De.contentVocabulary=De.metadataVocabulary=void 0,De.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],De.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]),De}var Eo;function Vs(){if(Eo)return dt;Eo=1,Object.defineProperty(dt,"__esModule",{value:!0});const e=as(),t=vs(),r=Ts(),n=Cs(),o=Rs(),l=[e.default,t.default,(0,r.default)(),n.default,o.metadataVocabulary,o.contentVocabulary];return dt.default=l,dt}var Ft={},Ye={},ko;function Ms(){if(ko)return Ye;ko=1,Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.DiscrError=void 0;var e;return(function(t){t.Tag="tag",t.Mapping="mapping"})(e||(Ye.DiscrError=e={})),Ye}var So;function As(){if(So)return Ft;So=1,Object.defineProperty(Ft,"__esModule",{value:!0});const e=Q(),t=Ms(),r=sr(),n=ct(),o=re(),l={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:s,tagName:u}})=>s===t.DiscrError.Tag?`tag "${u}" must be string`:`value of tag "${u}" must be in oneOf`,params:({params:{discrError:s,tag:u,tagName:d}})=>(0,e._)`{error: ${s}, tag: ${d}, tagValue: ${u}}`},code(s){const{gen:u,data:d,schema:m,parentSchema:y,it:S}=s,{oneOf:b}=y;if(!S.opts.discriminator)throw new Error("discriminator: requires discriminator option");const c=m.propertyName;if(typeof c!="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._)`${d}${(0,e.getProperty)(c)}`);u.if((0,e._)`typeof ${E} == "string"`,()=>h(),()=>s.error(!1,{discrError:t.DiscrError.Tag,tag:E,tagName:c})),s.ok(v);function h(){const i=a();u.if(!1);for(const w in i)u.elseIf((0,e._)`${E} === ${w}`),u.assign(v,p(i[w]));u.else(),s.error(!1,{discrError:t.DiscrError.Mapping,tag:E,tagName:c}),u.endIf()}function p(i){const w=u.name("valid"),g=s.subschema({keyword:"oneOf",schemaProp:i},w);return s.mergeEvaluated(g,e.Name),w}function a(){var i;const w={},g=k(y);let _=!0;for(let L=0;L<b.length;L++){let V=b[L];if(V!=null&&V.$ref&&!(0,o.schemaHasRulesButRef)(V,S.self.RULES)){const K=V.$ref;if(V=r.resolveRef.call(S.self,S.schemaEnv.root,S.baseId,K),V instanceof r.SchemaEnv&&(V=V.schema),V===void 0)throw new n.default(S.opts.uriResolver,S.baseId,K)}const F=(i=V?.properties)===null||i===void 0?void 0:i[c];if(typeof F!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${c}"`);_=_&&(g||k(V)),C(F,L)}if(!_)throw new Error(`discriminator: "${c}" must be required`);return w;function k({required:L}){return Array.isArray(L)&&L.includes(c)}function C(L,V){if(L.const)q(L.const,V);else if(L.enum)for(const F of L.enum)q(F,V);else throw new Error(`discriminator: "properties/${c}" must have "const" or "enum"`)}function q(L,V){if(typeof L!="string"||L in w)throw new Error(`discriminator: "${c}" values must be unique strings`);w[L]=V}}}};return Ft.default=l,Ft}const qs="http://json-schema.org/draft-07/schema#",zs="http://json-schema.org/draft-07/schema#",Ls="Core schema meta-schema",Ds={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:[]}},Us=["object","boolean"],Fs={$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:"#"}},Ks={$schema:qs,$id:zs,title:Ls,definitions:Ds,type:Us,properties:Fs,default:!0};var xo;function ur(){return xo||(xo=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=rs(),n=Vs(),o=As(),l=Ks,s=["/properties"],u="http://json-schema.org/draft-07/schema";class d extends r.default{_addVocabularies(){super._addVocabularies(),n.default.forEach(v=>this.addVocabulary(v)),this.opts.discriminator&&this.addKeyword(o.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const v=this.opts.$data?this.$dataMetaSchema(l,s):l;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=d,e.exports=t=d,e.exports.Ajv=d,Object.defineProperty(t,"__esModule",{value:!0}),t.default=d;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 S=ar();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return S.default}});var b=ct();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return b.default}})})(nr,nr.exports)),nr.exports}var Bs=ur();const Ws=rt(Bs);var dr={exports:{}},No={},jo;function Gs(){return jo||(jo=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(V,F){return{validate:V,compare:F}}e.fullFormats={date:t(l,s),time:t(d(!0),m),"date-time":t(b(!0),c),"iso-time":t(d(),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:i,int32:{type:"number",validate:_},int64:{type:"number",validate:k},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$/,s),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,c),"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(V){return V%4===0&&(V%100!==0||V%400===0)}const n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,o=[0,31,28,31,30,31,30,31,31,30,31,30,31];function l(V){const F=n.exec(V);if(!F)return!1;const K=+F[1],G=+F[2],ae=+F[3];return G>=1&&G<=12&&ae>=1&&ae<=(G===2&&r(K)?29:o[G])}function s(V,F){if(V&&F)return V>F?1:V<F?-1:0}const u=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function d(V){return function(F){const K=u.exec(F);if(!K)return!1;const G=+K[1],ae=+K[2],se=+K[3],ue=K[4],ne=K[5]==="-"?-1:1,de=+(K[6]||0),M=+(K[7]||0);if(de>23||M>59||V&&!ue)return!1;if(G<=23&&ae<=59&&se<60)return!0;const I=ae-M*ne,T=G-de*ne-(I<0?1:0);return(T===23||T===-1)&&(I===59||I===-1)&&se<61}}function m(V,F){if(!(V&&F))return;const K=new Date("2020-01-01T"+V).valueOf(),G=new Date("2020-01-01T"+F).valueOf();if(K&&G)return K-G}function y(V,F){if(!(V&&F))return;const K=u.exec(V),G=u.exec(F);if(K&&G)return V=K[1]+K[2]+K[3],F=G[1]+G[2]+G[3],V>F?1:V<F?-1:0}const S=/t|\s/i;function b(V){const F=d(V);return function(K){const G=K.split(S);return G.length===2&&l(G[0])&&F(G[1])}}function c(V,F){if(!(V&&F))return;const K=new Date(V).valueOf(),G=new Date(F).valueOf();if(K&&G)return K-G}function v(V,F){if(!(V&&F))return;const[K,G]=V.split(S),[ae,se]=F.split(S),ue=s(K,ae);if(ue!==void 0)return ue||m(G,se)}const E=/\/|:/,h=/^(?:[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(V){return E.test(V)&&h.test(V)}const a=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function i(V){return a.lastIndex=0,a.test(V)}const w=-2147483648,g=2**31-1;function _(V){return Number.isInteger(V)&&V<=g&&V>=w}function k(V){return Number.isInteger(V)}function C(){return!0}const q=/[^\\]\\Z/;function L(V){if(q.test(V))return!1;try{return new RegExp(V),!0}catch{return!1}}})(No)),No}var Io={},To;function Js(){return To||(To=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.formatLimitDefinition=void 0;const t=ur(),r=Q(),n=r.operators,o={formatMaximum:{okStr:"<=",ok:n.LTE,fail:n.GT},formatMinimum:{okStr:">=",ok:n.GTE,fail:n.LT},formatExclusiveMaximum:{okStr:"<",ok:n.LT,fail:n.GTE},formatExclusiveMinimum:{okStr:">",ok:n.GT,fail:n.LTE}},l={message:({keyword:u,schemaCode:d})=>(0,r.str)`should be ${o[u].okStr} ${d}`,params:({keyword:u,schemaCode:d})=>(0,r._)`{comparison: ${o[u].okStr}, limit: ${d}}`};e.formatLimitDefinition={keyword:Object.keys(o),type:"string",schemaType:"string",$data:!0,error:l,code(u){const{gen:d,data:m,schemaCode:y,keyword:S,it:b}=u,{opts:c,self:v}=b;if(!c.validateFormats)return;const E=new t.KeywordCxt(b,v.RULES.all.format.definition,"format");E.$data?h():p();function h(){const i=d.scopeValue("formats",{ref:v.formats,code:c.code.formats}),w=d.const("fmt",(0,r._)`${i}[${E.schemaCode}]`);u.fail$data((0,r.or)((0,r._)`typeof ${w} != "object"`,(0,r._)`${w} instanceof RegExp`,(0,r._)`typeof ${w}.compare != "function"`,a(w)))}function p(){const i=E.schema,w=v.formats[i];if(!w||w===!0)return;if(typeof w!="object"||w instanceof RegExp||typeof w.compare!="function")throw new Error(`"${S}": format "${i}" does not define "compare" function`);const g=d.scopeValue("formats",{key:i,ref:w,code:c.code.formats?(0,r._)`${c.code.formats}${(0,r.getProperty)(i)}`:void 0});u.fail$data(a(g))}function a(i){return(0,r._)`${i}.compare(${m}, ${y}) ${o[S].fail} 0`}},dependencies:["format"]};const s=u=>(u.addKeyword(e.formatLimitDefinition),u);e.default=s})(Io)),Io}var Oo;function Hs(){return Oo||(Oo=1,(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const r=Gs(),n=Js(),o=Q(),l=new o.Name("fullFormats"),s=new o.Name("fastFormats"),u=(m,y={keywords:!0})=>{if(Array.isArray(y))return d(m,y,r.fullFormats,l),m;const[S,b]=y.mode==="fast"?[r.fastFormats,s]:[r.fullFormats,l],c=y.formats||r.formatNames;return d(m,c,S,b),y.keywords&&(0,n.default)(m),m};u.get=(m,y="full")=>{const S=(y==="fast"?r.fastFormats:r.fullFormats)[m];if(!S)throw new Error(`Unknown format "${m}"`);return S};function d(m,y,S,b){var c,v;(c=(v=m.opts.code).formats)!==null&&c!==void 0||(v.formats=(0,o._)`require("ajv-formats/dist/formats").${b}`);for(const E of y)m.addFormat(E,S[E])}e.exports=t=u,Object.defineProperty(t,"__esModule",{value:!0}),t.default=u})(dr,dr.exports)),dr.exports}var Zs=Hs();const Ys=rt(Zs);var pr={exports:{}},Co;function Xs(){return Co||(Co=1,(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const r=ur(),n=Q(),o=We(),l=He(),s=Ge(),u=Se(),d="errorMessage",m=new r.Name("emUsed"),y={required:"missingProperty",dependencies:"property",dependentRequired:"property"},S=/\$\{[^}]+\}/,b=/\$\{([^}]+)\}/g,c=/^""\s*\+\s*|\s*\+\s*""$/g;function v(h){return{keyword:d,schemaType:["string","object"],post:!0,code(p){const{gen:a,data:i,schema:w,schemaValue:g,it:_}=p;if(_.createErrors===!1)return;const k=w,C=n.strConcat(u.default.instancePath,_.errorPath);a.if(r._`${u.default.errors} > 0`,()=>{if(typeof k=="object"){const[x,f]=L(k);f&&V(f),x&&F(x),K(q(k))}const T=typeof k=="string"?k:k._;T&&G(T),h.keepErrors||ae()});function q({properties:T,items:x}){const f={};if(T){f.props={};for(const P in T)f.props[P]=[]}if(x){f.items={};for(let P=0;P<x.length;P++)f.items[P]=[]}return f}function L(T){let x,f;for(const P in T){if(P==="properties"||P==="items")continue;const O=T[P];if(typeof O=="object"){x||(x={});const D=x[P]={};for(const A in O)D[A]=[]}else f||(f={}),f[P]=[]}return[x,f]}function V(T){const x=a.const("emErrors",r.stringify(T)),f=a.const("templates",de(T,w));a.forOf("err",u.default.vErrors,A=>a.if(se(A,x),()=>a.code(r._`${x}[${A}.keyword].push(${A})`).assign(r._`${A}.${m}`,!0)));const{singleError:P}=h;if(P){const A=a.let("message",r._`""`),B=a.let("paramsErrors",r._`[]`);O(Y=>{a.if(A,()=>a.code(r._`${A} += ${typeof P=="string"?P:";"}`)),a.code(r._`${A} += ${D(Y)}`),a.assign(B,r._`${B}.concat(${x}[${Y}])`)}),s.reportError(p,{message:A,params:r._`{errors: ${B}}`})}else O(A=>s.reportError(p,{message:D(A),params:r._`{errors: ${x}[${A}]}`}));function O(A){a.forIn("key",x,B=>a.if(r._`${x}[${B}].length`,()=>A(B)))}function D(A){return r._`${A} in ${f} ? ${f}[${A}]() : ${g}[${A}]`}}function F(T){const x=a.const("emErrors",r.stringify(T)),f=[];for(const B in T)f.push([B,de(T[B],w[B])]);const P=a.const("templates",a.object(...f)),O=a.scopeValue("obj",{ref:y,code:r.stringify(y)}),D=a.let("emPropParams"),A=a.let("emParamsErrors");a.forOf("err",u.default.vErrors,B=>a.if(se(B,x),()=>{a.assign(D,r._`${O}[${B}.keyword]`),a.assign(A,r._`${x}[${B}.keyword][${B}.params[${D}]]`),a.if(A,()=>a.code(r._`${A}.push(${B})`).assign(r._`${B}.${m}`,!0))})),a.forIn("key",x,B=>a.forIn("keyProp",r._`${x}[${B}]`,Y=>{a.assign(A,r._`${x}[${B}][${Y}]`),a.if(r._`${A}.length`,()=>{const N=a.const("tmpl",r._`${P}[${B}] && ${P}[${B}][${Y}]`);s.reportError(p,{message:r._`${N} ? ${N}() : ${g}[${B}][${Y}]`,params:r._`{errors: ${A}}`})})}))}function K(T){const{props:x,items:f}=T;if(!x&&!f)return;const P=r._`typeof ${i} == "object"`,O=r._`Array.isArray(${i})`,D=a.let("emErrors");let A,B;const Y=a.let("templates");x&&f?(A=a.let("emChildKwd"),a.if(P),a.if(O,()=>{N(f,w.items),a.assign(A,r.str`items`)},()=>{N(x,w.properties),a.assign(A,r.str`properties`)}),B=r._`[${A}]`):f?(a.if(O),N(f,w.items),B=r._`.items`):x&&(a.if(n.and(P,n.not(O))),N(x,w.properties),B=r._`.properties`),a.forOf("err",u.default.vErrors,j=>ue(j,D,R=>a.code(r._`${D}[${R}].push(${j})`).assign(r._`${j}.${m}`,!0))),a.forIn("key",D,j=>a.if(r._`${D}[${j}].length`,()=>{s.reportError(p,{message:r._`${j} in ${Y} ? ${Y}[${j}]() : ${g}${B}[${j}]`,params:r._`{errors: ${D}[${j}]}`}),a.assign(r._`${u.default.vErrors}[${u.default.errors}-1].instancePath`,r._`${C} + "/" + ${j}.replace(/~/g, "~0").replace(/\\//g, "~1")`)})),a.endIf();function N(j,R){a.assign(D,r.stringify(j)),a.assign(Y,de(j,R))}}function G(T){const x=a.const("emErrs",r._`[]`);a.forOf("err",u.default.vErrors,f=>a.if(ne(f),()=>a.code(r._`${x}.push(${f})`).assign(r._`${f}.${m}`,!0))),a.if(r._`${x}.length`,()=>s.reportError(p,{message:M(T),params:r._`{errors: ${x}}`}))}function ae(){const T=a.const("emErrs",r._`[]`);a.forOf("err",u.default.vErrors,x=>a.if(r._`!${x}.${m}`,()=>a.code(r._`${T}.push(${x})`))),a.assign(u.default.vErrors,T).assign(u.default.errors,r._`${T}.length`)}function se(T,x){return n.and(r._`${T}.keyword !== ${d}`,r._`!${T}.${m}`,r._`${T}.instancePath === ${C}`,r._`${T}.keyword in ${x}`,r._`${T}.schemaPath.indexOf(${_.errSchemaPath}) === 0`,r._`/^\\/[^\\/]*$/.test(${T}.schemaPath.slice(${_.errSchemaPath.length}))`)}function ue(T,x,f){a.if(n.and(r._`${T}.keyword !== ${d}`,r._`!${T}.${m}`,r._`${T}.instancePath.indexOf(${C}) === 0`),()=>{const P=a.scopeValue("pattern",{ref:/^\/([^/]*)(?:\/|$)/,code:r._`new RegExp("^\\\/([^/]*)(?:\\\/|$)")`}),O=a.const("emMatches",r._`${P}.exec(${T}.instancePath.slice(${C}.length))`),D=a.const("emChild",r._`${O} && ${O}[1].replace(/~1/g, "/").replace(/~0/g, "~")`);a.if(r._`${D} !== undefined && ${D} in ${x}`,()=>f(D))})}function ne(T){return n.and(r._`${T}.keyword !== ${d}`,r._`!${T}.${m}`,n.or(r._`${T}.instancePath === ${C}`,n.and(r._`${T}.instancePath.indexOf(${C}) === 0`,r._`${T}.instancePath[${C}.length] === "/"`)),r._`${T}.schemaPath.indexOf(${_.errSchemaPath}) === 0`,r._`${T}.schemaPath[${_.errSchemaPath}.length] === "/"`)}function de(T,x){const f=[];for(const P in T){const O=x[P];S.test(O)&&f.push([P,I(O)])}return a.object(...f)}function M(T){return S.test(T)?new o._Code(o.safeStringify(T).replace(b,(x,f)=>`" + JSON.stringify(${l.getData(f,_)}) + "`).replace(c,"")):r.stringify(T)}function I(T){return r._`function(){return ${M(T)}}`}},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=(h,p={})=>{if(!h.opts.allErrors)throw new Error("ajv-errors: Ajv option allErrors must be true");if(h.opts.jsPropertySyntax)throw new Error("ajv-errors: ajv option jsPropertySyntax is not supported");return h.addKeyword(v(p))};t.default=E,e.exports=E,e.exports.default=E})(pr,pr.exports)),pr.exports}var Qs=Xs();const ei=rt(Qs);class hr extends Error{constructor(t){super(t),this.name="NrgError",Object.setPrototypeOf(this,hr.prototype)}}class ti{constructor(t){Gt(this,"ajv"),Gt(this,"pureAjv"),Gt(this,"registeredSchemaIds",new Map);const{customKeywords:r,customFormats:n,...o}=t||{};this.ajv=this.buildAjv(o,!0,r,n),this.pureAjv=this.buildAjv(o,!1,r,n)}buildAjv(t,r,n,o){const l=new Ws({allErrors:!0,code:{source:!1},coerceTypes:r,removeAdditional:!1,strict:!1,strictSchema:!1,useDefaults:r,validateFormats:!0,validateSchema:!1,verbose:!0,...t});return Ys(l),ei(l),this.addCustomKeywords(l,n||[]),this.addCustomFormats(l,o||{}),l}addCustomKeywords(t,r){r&&r.forEach(n=>{t.addKeyword(n)})}addCustomFormats(t,r){r&&Object.entries(r).forEach(([n,o])=>{o instanceof RegExp?t.addFormat(n,o):t.addFormat(n,{validate:o})})}createValidator(t,r=!0){const n=r?this.ajv:this.pureAjv;if(t.$id){const o=n.getSchema(t.$id);if(o)return o}return n.compile(t)}reserveSchemaId(t,r){const n=t.$id;if(!n)return;const o=this.registeredSchemaIds.get(n);if(o&&o.schema!==t)throw new hr(`Duplicate schema $id "${n}": declared by both ${o.owner} and ${r}. $id is the AJV compile-cache key and must be unique \u2014 a collision makes one schema validate against another. Convention: "<node-type>:<role>".`);this.registeredSchemaIds.set(n,{schema:t,owner:r})}validate(t,r,n){const o=this.createValidator(r,n?.mutate??!0);if(!o(t)){const l=this.formatErrors(o.errors);if(n!=null&&n.throwOnError)throw new mr(l,o.errors||[]);return{valid:!1,errors:o.errors||void 0,errorMessage:l}}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.pureAjv.addSchema(t,r),this}removeSchema(t){return this.ajv.removeSchema(t),this.pureAjv.removeSchema(t),this}}class mr extends Error{constructor(t,r){super(t),this.errors=r,this.name="ValidationError",Object.setPrototypeOf(this,mr.prototype)}}const ri=new ti({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-_]+$/}});function Ro(e){var t;if(!e)return e;let r=!1;const n={};for(const[o,l]of Object.entries(e)){if(!((t=l?.["x-nrg-form"])!=null&&t.required)||l!=null&&l["x-nrg-skip-validation"]){n[o]=l;continue}const s=Array.isArray(l.type)?l.type:[l.type];s.includes("string")&&l.minLength===void 0?(n[o]={...l,minLength:1},r=!0):s.includes("array")&&l.minItems===void 0?(n[o]={...l,minItems:1},r=!0):n[o]=l}return r?n:e}function ni(e,t){const r=Ro(e?.properties),n=Ro(t?.properties),o=e&&r!==e.properties?{...e,properties:r}:e;if(!n)return o;const l={type:"object",properties:n,...t!=null&&t.required?{required:t.required}:{}};return o?{...o,properties:{...o.properties,credentials:l}}:{type:"object",properties:{credentials:l},additionalProperties:!0}}function Vo(e,t){const r=ri.validate(Yr(e),t);return r.valid?[]:r.errors??[]}function oi(e,t){const r=Vo(e,t).filter(n=>{var o;if(((o=n.parentSchema)==null?void 0:o.format)!=="password")return!0;if(!e.credentials)return!1;const l=n.instancePath.split("/").pop(),s=Ir.get(e,n.instancePath);return!(e.credentials[`has_${l}`]&&(!s||s==="__PWD__"))});return r.length===0?!0:r.map(n=>{var o;let l=n.instancePath;return n.keyword==="required"&&(o=n.params)!=null&&o.missingProperty&&(l=`${l}/${n.params.missingProperty}`),`${l.slice(1)||"root"}: ${n.message??"invalid"}`})}function ai(e,t){return Vo(e,t).filter(r=>{var n;return((n=r.parentSchema)==null?void 0:n.format)!=="password"?!0:Ir.get(e,r.instancePath)!=="__PWD__"}).reduce((r,n)=>{var o;let l=n.instancePath;n.keyword==="required"&&(o=n.params)!=null&&o.missingProperty&&(l=`${l}/${n.params.missingProperty}`);const s=`node${l.replaceAll("/",".")}`;return r[s]=n.message??"Invalid",r},{})}const si=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:Oe(null),typeCheckEnabled:tt}},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},supportsInputTypeValidation(){var e,t;return((t=(e=this.node._def)==null?void 0:e.defaults)==null?void 0:t.validateInputTypes)!==void 0},supportsOutputTypeValidation(){var e,t;return((t=(e=this.node._def)==null?void 0:e.defaults)==null?void 0:t.validateOutputTypes)!==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||this.hasBuiltinPorts},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},(n,o)=>{var l;return{index:o,label:((l=this.features.outputPorts[o])==null?void 0:l.label)??`Output ${o}`}})},inputLabel(){return this.resolveLabel("inputLabels.0","")||this.resolveLabel("inputLabels","Input")},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=ja(()=>this.validate(),150)},beforeMount(){var e;if(this.features.hasOutputSchema)for(const t of["validateOutputs","validateOutputTypes","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 n=this.localNode[t];this.localNode[t]=n?String(n).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,n)=>{var o;(o=this.debouncedValidate)==null||o.call(this),this.localNode._def.credentials[t].type==="password"&&r!==n&&(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 n,o;this.localNode._def.credentials[r].type==="password"&&(n=this.localNode.credentials)!=null&&n[`has_${r}`]&&((o=this.localNode.credentials)==null?void 0:o[r])==="__PWD__"&&(this.localNode.credentials[r]=void 0)})},methods:{validate(){const e=ai(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),n=`${this.localNode.type}.${e}`;return r&&r!==n&&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}},validateOutputTypesFor(e){var t;return((t=this.localNode.validateOutputTypes)==null?void 0:t[e])??!1},setValidateOutputTypes(e,t){this.localNode.validateOutputTypes={...this.localNode.validateOutputTypes??{},[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}}}}),je=(e,t)=>{const r=e.__vccOpts||e;for(const[n,o]of t)r[n]=o;return r},ii={class:"nrg-form-app"},li={style:{width:"100%","padding-bottom":"12px"}},ci={key:0,class:"nrg-section"},ui={class:"nrg-section-title"},di={key:0,class:"nrg-subsection"},pi={class:"nrg-subsection-title"},fi={class:"nrg-input"},hi={class:"nrg-outputs-label"},mi={class:"nrg-outputs-flag"},yi={key:0,class:"nrg-outputs-flag"},vi={class:"nrg-outputs-label"},gi={class:"nrg-outputs-flag"},bi={key:0,class:"nrg-outputs-flag"},$i={class:"nrg-help-list"},wi=["href"],_i={key:0},Pi={key:1,class:"nrg-subsection"},Ei={class:"nrg-subsection-title"},ki={class:"nrg-outputs"},Si={class:"nrg-outputs-index"},xi={class:"nrg-outputs-label"},Ni={class:"nrg-outputs-flag"},ji={key:0,class:"nrg-outputs-flag"},Ii={key:1,class:"nrg-outputs-return-col"},Ti={key:2,class:"nrg-outputs-context-col"},Oi={class:"nrg-outputs-index"},Ci={class:"nrg-outputs-label"},Ri={class:"nrg-outputs-flag"},Vi={key:0,class:"nrg-outputs-flag"},Mi={key:1,class:"nrg-outputs-return-col"},Ai=["value","onInput"],qi={key:2,class:"nrg-outputs-context-col"},zi=["value","disabled","onChange"],Li=["value"],Di={class:"nrg-help-list"},Ui=["href"],Fi={key:0},Ki=["href"],Bi={key:1},Wi=["href"],Gi={key:2},Ji=["href"],Hi={key:2,class:"nrg-subsection"},Zi={class:"nrg-subsection-title"},Yi={class:"nrg-help"},Xi=["href"],Qi={class:"nrg-lifecycle"},el={class:"nrg-lifecycle-port"},tl={class:"nrg-outputs-flag"},rl={class:"nrg-lifecycle-desc"},nl={key:0},ol={class:"nrg-lifecycle-port"},al={class:"nrg-outputs-flag"},sl={class:"nrg-lifecycle-desc"},il={key:1},ll={class:"nrg-lifecycle-port"},cl={class:"nrg-outputs-flag"},ul={class:"nrg-lifecycle-desc"},dl={key:2},pl={class:"nrg-lifecycle-port"},fl={class:"nrg-outputs-flag"},hl={class:"nrg-lifecycle-desc"};function ml(e,t,r,n,o,l){const s=me("NodeRedNodeForm"),u=me("NodeRedToggle");return W(),Z("div",ii,[X(" 1. Node fields (schema-driven, name first) "),U("div",li,[be(s,{node:e.localNode,schema:e.schema,errors:e.errors,style:{width:"100%"}},null,8,["node","schema","errors"])]),X(" 2. Ports Settings "),e.showPortsSettings?(W(),Z("div",ci,[U("div",ui,H(e.resolveLabel("sections.portsSettings","Ports Settings")),1),X(` Input \u2014 a single Validate Data row, rendered as a table so it matches
10
+ the Outputs / Lifecycle Output Ports sections (muted headers) instead
11
+ of a bright toggle label that outweighs the section title. `),e.features.hasInputSchema?(W(),Z("div",di,[U("div",pi,H(e.resolveLabel("sections.input","Input")),1),U("table",fi,[U("thead",null,[U("tr",null,[U("th",hi,H(e.resolveLabel("outputs.label","Label")),1),U("th",mi,H(e.resolveLabel("toggles.validateInput","Validate Data")),1),e.typeCheckEnabled&&e.supportsInputTypeValidation?(W(),Z("th",yi,H(e.resolveLabel("toggles.validateInputTypes","Validate Types")),1)):X("v-if",!0)])]),U("tbody",null,[U("tr",null,[U("td",vi,H(e.inputLabel),1),U("td",gi,[be(u,{"model-value":e.localNode.validateInput,"aria-label":e.resolveLabel("toggles.validateInput","Validate Data"),"onUpdate:modelValue":t[0]||(t[0]=d=>{e.localNode.validateInput=d})},null,8,["model-value","aria-label"])]),e.typeCheckEnabled&&e.supportsInputTypeValidation?(W(),Z("td",bi,[be(u,{"model-value":e.localNode.validateInputTypes,"aria-label":e.resolveLabel("toggles.validateInputTypes","Validate Types"),"onUpdate:modelValue":t[1]||(t[1]=d=>{e.localNode.validateInputTypes=d})},null,8,["model-value","aria-label"])])):X("v-if",!0)])])]),U("ul",$i,[U("li",null,[U("strong",null,H(e.resolveLabel("toggles.validateInput","Validate Data")),1),Ee(" \u2014 "+H(e.resolveLabel("help.validateInput","Validate incoming messages against the input schema before input() runs."))+" ",1),U("a",{class:"nrg-help-link",href:e.docsUrl("/guide/schemas#input-schema"),target:"_blank",rel:"noopener noreferrer"},H(e.resolveLabel("help.learnMore","Learn more")),9,wi)]),e.typeCheckEnabled&&e.supportsInputTypeValidation?(W(),Z("li",_i,[U("strong",null,H(e.resolveLabel("toggles.validateInputTypes","Validate Types")),1),Ee(" \u2014 "+H(e.resolveLabel("help.validateInputTypes","Type-check wires connected to this input on deploy (TypeScript).")),1)])):X("v-if",!0)])])):X("v-if",!0),X(" Outputs "),e.showOutputs&&e.outputRows.length?(W(),Z("div",Pi,[U("div",Ei,H(e.resolveLabel("sections.outputs","Outputs")),1),U("table",ki,[U("thead",null,[U("tr",null,[U("th",Si,H(e.resolveLabel("outputs.port","Port")),1),U("th",xi,H(e.resolveLabel("outputs.label","Label")),1),U("th",Ni,H(e.resolveLabel("outputs.validate","Validate Data")),1),e.typeCheckEnabled&&e.supportsOutputTypeValidation?(W(),Z("th",ji,H(e.resolveLabel("outputs.validateTypes","Validate Types")),1)):X("v-if",!0),e.hasOutputReturnProperties?(W(),Z("th",Ii,H(e.resolveLabel("outputs.returnProperty","Return Property")),1)):X("v-if",!0),e.hasOutputContextModes?(W(),Z("th",Ti,H(e.resolveLabel("outputs.contextMode","Context Mode")),1)):X("v-if",!0)])]),U("tbody",null,[(W(!0),Z(Qe,null,et(e.outputRows,d=>(W(),Z("tr",{key:d.index},[U("td",Oi,H(d.index),1),U("td",Ci,H(d.label),1),U("td",Ri,[be(u,{"model-value":e.validateOutputFor(d.index),"aria-label":`${e.resolveLabel("outputs.validate","Validate Data")} \u2014 ${d.label}`,"onUpdate:modelValue":m=>e.setValidateOutput(d.index,m)},null,8,["model-value","aria-label","onUpdate:modelValue"])]),e.typeCheckEnabled&&e.supportsOutputTypeValidation?(W(),Z("td",Vi,[be(u,{"model-value":e.validateOutputTypesFor(d.index),"aria-label":`${e.resolveLabel("outputs.validateTypes","Validate Types")} \u2014 ${d.label}`,"onUpdate:modelValue":m=>e.setValidateOutputTypes(d.index,m)},null,8,["model-value","aria-label","onUpdate:modelValue"])])):X("v-if",!0),e.hasOutputReturnProperties?(W(),Z("td",Mi,[U("input",{type:"text",class:"nrg-outputs-return",placeholder:"output",value:e.returnPropertyFor(d.index),onInput:m=>e.setReturnProperty(d.index,m.target.value)},null,40,Ai)])):X("v-if",!0),e.hasOutputContextModes?(W(),Z("td",qi,[U("select",{class:"nrg-outputs-context",value:e.contextModeFor(d.index),disabled:!e.contextModeEnabled(d.index),onChange:m=>e.setContextMode(d.index,m.target.value)},[(W(!0),Z(Qe,null,et(e.contextModeOptions,m=>(W(),Z("option",{key:m.value,value:m.value},H(m.label),9,Li))),128))],40,zi)])):X("v-if",!0)]))),128))])]),U("ul",Di,[U("li",null,[U("strong",null,H(e.resolveLabel("outputs.validate","Validate Data")),1),Ee(" \u2014 "+H(e.resolveLabel("help.validateData","Check the sent value against this port's schema before it is emitted."))+" ",1),U("a",{class:"nrg-help-link",href:e.docsUrl("/guide/schemas#output-schema"),target:"_blank",rel:"noopener noreferrer"},H(e.resolveLabel("help.learnMore","Learn more")),9,Ui)]),e.typeCheckEnabled&&e.supportsOutputTypeValidation?(W(),Z("li",Fi,[U("strong",null,H(e.resolveLabel("outputs.validateTypes","Validate Types")),1),Ee(" \u2014 "+H(e.resolveLabel("help.validateTypes","Type-check wires from this port on deploy (TypeScript)."))+" ",1),U("a",{class:"nrg-help-link",href:e.docsUrl("/guide/schemas#output-schema"),target:"_blank",rel:"noopener noreferrer"},H(e.resolveLabel("help.learnMore","Learn more")),9,Ki)])):X("v-if",!0),e.hasOutputReturnProperties?(W(),Z("li",Bi,[U("strong",null,H(e.resolveLabel("outputs.returnProperty","Return Property")),1),Ee(" \u2014 "+H(e.resolveLabel("help.returnProperty","The message property the sent value is placed on (default: output)."))+" ",1),U("a",{class:"nrg-help-link",href:e.docsUrl("/guide/schemas#overriding-the-return-key"),target:"_blank",rel:"noopener noreferrer"},H(e.resolveLabel("help.learnMore","Learn more")),9,Wi)])):X("v-if",!0),e.hasOutputContextModes?(W(),Z("li",Gi,[U("strong",null,H(e.resolveLabel("outputs.contextMode","Context Mode")),1),Ee(" \u2014 "+H(e.resolveLabel("help.contextMode","How the incoming message is carried to this port: carry, trace, or reset."))+" ",1),U("a",{class:"nrg-help-link",href:e.docsUrl("/guide/schemas#context-modes"),target:"_blank",rel:"noopener noreferrer"},H(e.resolveLabel("help.learnMore","Learn more")),9,Ji)])):X("v-if",!0)])])):X("v-if",!0),X(" Lifecycle ports: extra output ports, a subsection of Ports Settings "),e.hasBuiltinPorts?(W(),Z("div",Hi,[U("div",Zi,H(e.resolveLabel("sections.lifecyclePorts","Lifecycle Output Ports")),1),U("div",Yi,[Ee(H(e.resolveLabel("help.lifecyclePorts","Optional extra output ports that fire on error, on completion, and on every status change."))+" ",1),U("a",{class:"nrg-help-link",href:e.docsUrl("/guide/creating-a-node#lifecycle-output-ports"),target:"_blank",rel:"noopener noreferrer"},H(e.resolveLabel("help.learnMore","Learn more")),9,Xi)]),U("table",Qi,[U("thead",null,[U("tr",null,[U("th",el,H(e.resolveLabel("lifecyclePorts.port","Port")),1),U("th",tl,H(e.resolveLabel("lifecyclePorts.enable","Enable")),1),U("th",rl,H(e.resolveLabel("lifecyclePorts.description","Description")),1)])]),U("tbody",null,[e.hasErrorPort?(W(),Z("tr",nl,[U("td",ol,H(e.resolveLabel("lifecyclePorts.error.name","Error")),1),U("td",al,[be(u,{"model-value":e.localNode.errorPort,"aria-label":e.resolveLabel("toggles.errorPort","Error Port"),"onUpdate:modelValue":t[2]||(t[2]=d=>{e.localNode.errorPort=d,e.recalculateOutputs()})},null,8,["model-value","aria-label"])]),U("td",sl,H(e.resolveLabel("lifecyclePorts.error.description","Routes the message to a separate output when this node fails, so you can handle errors on their own wire.")),1)])):X("v-if",!0),e.hasCompletePort?(W(),Z("tr",il,[U("td",ll,H(e.resolveLabel("lifecyclePorts.complete.name","Complete")),1),U("td",cl,[be(u,{"model-value":e.localNode.completePort,"aria-label":e.resolveLabel("toggles.completePort","Complete Port"),"onUpdate:modelValue":t[3]||(t[3]=d=>{e.localNode.completePort=d,e.recalculateOutputs()})},null,8,["model-value","aria-label"])]),U("td",ul,H(e.resolveLabel("lifecyclePorts.complete.description","Emits a message from a separate output once this node finishes, so you can trigger what comes next.")),1)])):X("v-if",!0),e.hasStatusPort?(W(),Z("tr",dl,[U("td",pl,H(e.resolveLabel("lifecyclePorts.status.name","Status")),1),U("td",fl,[be(u,{"model-value":e.localNode.statusPort,"aria-label":e.resolveLabel("toggles.statusPort","Status Port"),"onUpdate:modelValue":t[4]||(t[4]=d=>{e.localNode.statusPort=d,e.recalculateOutputs()})},null,8,["model-value","aria-label"])]),U("td",hl,H(e.resolveLabel("lifecyclePorts.status.description","Emits a message from a separate output whenever this node's status changes, so your flow can react.")),1)])):X("v-if",!0)])])])):X("v-if",!0)])):X("v-if",!0)])}const yl=je(si,[["render",ml],["__scopeId","data-v-e262ed17"]]),vl=Pe({name:"NodeRedInputLabel",props:{label:{type:String,default:""},icon:{type:String,default:""},required:{type:Boolean,default:!1},htmlFor:{type:String,default:""},labelId:{type:String,default:""}},computed:{iconClass(){return this.icon?`fa ${this.icon.startsWith("fa-")?this.icon:`fa-${this.icon}`}`:""}}}),gl={key:1,class:"nrg-required"};function bl(e,t,r,n,o,l){return W(),ye(ea(e.htmlFor?"label":"span"),{id:e.labelId||void 0,class:"nrg-label",for:e.htmlFor||void 0},{default:ta(()=>[e.icon?(W(),Z("i",{key:0,class:Jt(e.iconClass)},null,2)):X("v-if",!0),Ce(e.$slots,"default",{},()=>[Ee(H(e.label),1)],!0),e.required?(W(),Z("span",gl,"*")):X("v-if",!0)]),_:3},8,["id","for"])}const Me=je(vl,[["render",bl],["__scopeId","data-v-ec9d13ab"]]),Mo="*************",$l=Pe({components:{NodeRedInputLabel:Me},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:""},inputId:{type:String,default:""}},emits:["update:modelValue","update:value","input"],data(){return{internalValue:"",isFocused:!1}},computed:{effectiveValue(){return this.modelValue!==void 0?this.modelValue:this.value}},watch:{effectiveValue(e){this.isFocused||this.type==="password"||this.internalValue!==e&&(this.internalValue=e)}},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.isFocused=!0,this.type==="password"&&this.internalValue===Mo&&(this.internalValue="")},onBlur(){this.isFocused=!1,this.type==="password"&&this.effectiveValue==="__PWD__"&&(this.internalValue=Mo)}}}),wl={style:{display:"flex","flex-direction":"column",width:"100%"}},_l=["id","type","value","placeholder"],Pl={key:0,class:"node-red-vue-input-error-message"};function El(e,t,r,n,o,l){const s=me("NodeRedInputLabel");return W(),Z("div",wl,[Ce(e.$slots,"label",{},()=>[e.label?(W(),ye(s,{key:0,label:e.label,icon:e.icon,required:e.required,"html-for":e.inputId||void 0},null,8,["label","icon","required","html-for"])):X("v-if",!0)]),U("input",{id:e.inputId||void 0,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,_l),e.error?(W(),Z("div",Pl,H(e.error),1)):X("v-if",!0)])}const Ao=je($l,[["render",El]]),kl=["msg","flow","global","str","num","bool","json","bin","re","jsonata","date","env","node","cred"],Sl=["errorPort","completePort","statusPort"],xl=Pe({components:{NodeRedInputLabel:Me},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:()=>kl},label:{type:String,default:""},icon:{type:String,default:""},required:{type:Boolean,default:!1},error:{type:String,default:""},labelId:{type:String,default:""}},emits:["update:modelValue","update:value"],setup(){return{inputWidget:Oe(null),mutationObserver:Oe(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"))})},effectiveValue:{handler(e){this.inputWidget&&(this.$el.contains(document.activeElement)||(e.value!==this.inputWidget.typedInput("value")&&this.inputWidget.typedInput("value",e.value??""),e.type!==this.inputWidget.typedInput("type")&&this.inputWidget.typedInput("type",e.type??this.types[0])))},deep:!0}},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 n of r)n.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)}}}}),Nl={style:{display:"flex","flex-direction":"column",width:"100%"}},jl=["aria-labelledby"],Il={key:0,class:"node-red-vue-input-error-message"};function Tl(e,t,r,n,o,l){const s=me("NodeRedInputLabel");return W(),Z("div",Nl,[Ce(e.$slots,"label",{},()=>[e.label?(W(),ye(s,{key:0,label:e.label,icon:e.icon,required:e.required,"label-id":e.labelId||void 0},null,8,["label","icon","required","label-id"])):X("v-if",!0)]),U("input",{ref:"typedInput","aria-labelledby":e.labelId||void 0,type:"text",class:"node-red-typed-input",style:{flex:"1",width:"100%"}},null,8,jl),e.error?(W(),Z("div",Il,H(e.error),1)):X("v-if",!0)])}const qo=je(xl,[["render",Tl]]),Ol=Pe({components:{NodeRedInputLabel:Me},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:""},labelId:{type:String,default:""}},emits:["update:modelValue","update:value"],setup(){return{jqInput:Oe(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)}}),Cl={style:{display:"flex","flex-direction":"column",width:"100%"}},Rl=["id","aria-labelledby"],Vl={key:0,class:"node-red-vue-input-error-message"};function Ml(e,t,r,n,o,l){const s=me("NodeRedInputLabel");return W(),Z("div",Cl,[Ce(e.$slots,"label",{},()=>[e.label?(W(),ye(s,{key:0,label:e.label,icon:e.icon,required:e.required,"label-id":e.labelId||void 0},null,8,["label","icon","required","label-id"])):X("v-if",!0)]),U("input",{id:e.inputId,"aria-labelledby":e.labelId||void 0,type:"text",style:{width:"100%"}},null,8,Rl),e.error?(W(),Z("div",Vl,H(e.error),1)):X("v-if",!0)])}const zo=je(Ol,[["render",Ml]]),Al=Pe({components:{NodeRedInputLabel:Me},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:""},labelId:{type:String,default:""}},emits:["update:modelValue","update:value"],setup(){return{selectWidget:Oe(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 n=this.multiple?((r=t.typedInput("value"))==null?void 0:r.split(",").filter(Boolean))??[]:t.typedInput("value");this.$emit("update:modelValue",n),this.$emit("update:value",n)})},beforeUnmount(){this.selectWidget&&(this.selectWidget.off("change"),this.selectWidget=null)}}),ql={style:{display:"flex","flex-direction":"column",width:"100%"}},zl=["aria-labelledby"],Ll={key:0,class:"node-red-vue-input-error-message"};function Dl(e,t,r,n,o,l){const s=me("NodeRedInputLabel");return W(),Z("div",ql,[Ce(e.$slots,"label",{},()=>[e.label?(W(),ye(s,{key:0,label:e.label,icon:e.icon,required:e.required,"label-id":e.labelId||void 0},null,8,["label","icon","required","label-id"])):X("v-if",!0)]),U("input",{ref:"selectInput","aria-labelledby":e.labelId||void 0,type:"text",class:"node-input-select",style:{width:"100%"}},null,8,zl),e.error?(W(),Z("div",Ll,H(e.error),1)):X("v-if",!0)])}const Lo=je(Al,[["render",Dl]]),Ul=Pe({components:{NodeRedInputLabel:Me},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:""},labelId:{type:String,default:""}},emits:["update:modelValue","update:value","editor-ready","tray-open","tray-close"],setup(){return{editorInstance:Oe(null),expandedEditorTray:Oe(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,n=e.style.width;r?t.style.height=r:t.style.height="200px",n?t.style.width=n: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 n;(n=this.editorInstance)==null||n.focus()},250),RED.tray.close()},r=()=>{var n;e.saveView(),(n=this.editorInstance)==null||n.setValue(e.getValue(),-1),setTimeout(()=>{var o,l;(o=this.editorInstance)==null||o.restoreView(),(l=this.editorInstance)==null||l.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:n=>{const o=$('<form id="dialog-form" class="form-horizontal" autocomplete="off"></form>').appendTo(n.find(".red-ui-tray-body"));o.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}),o.i18n();const l=n.find(".red-ui-tray-body")[0],s=document.createElement("div");s.className="red-ui-tray-footer",l.insertAdjacentElement("afterend",s),this.trayElement=s,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)}}}),Fl={ref:"container",class:"container"},Kl={class:"editor-wrapper"},Bl=["id","aria-labelledby"];function Wl(e,t,r,n,o,l){const s=me("NodeRedInputLabel");return W(),Z("div",Fl,[Ce(e.$slots,"label",{},()=>[e.label?(W(),ye(s,{key:0,label:e.label,icon:e.icon,required:e.required,"label-id":e.labelId||void 0},null,8,["label","icon","required","label-id"])):X("v-if",!0)],!0),U("div",Kl,[U("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]=[U("i",{class:"fa fa-expand"},null,-1)])],512),U("div",{id:e.editorId,ref:"editor",role:"textbox","aria-labelledby":e.labelId||void 0},null,8,Bl)]),ra(U("div",{class:"node-red-vue-input-error-message"},H(e.error),513),[[na,e.error]]),e.trayElement?(W(),ye(oa,{key:0,to:e.trayElement},[Ce(e.$slots,"tray-footer",{},void 0,!0)],8,["to"])):X("v-if",!0)],512)}const Do=je(Ul,[["render",Wl],["__scopeId","data-v-435dbf8c"]]),Gl=Pe({name:"NodeRedToggle",props:{modelValue:{type:Boolean,default:!1},label:{type:String,default:""},icon:{type:String,default:""},ariaLabel:{type:String,default:""}},emits:["update:modelValue"],computed:{iconClass(){return this.icon?`fa ${this.icon.startsWith("fa-")?this.icon:`fa-${this.icon}`}`:""}}}),Jl={class:"nrg-toggle-wrapper"},Hl=["checked","aria-label"],Zl={key:0,class:"nrg-toggle__label"};function Yl(e,t,r,n,o,l){return W(),Z("div",Jl,[U("label",{class:Jt(["nrg-toggle",{"nrg-toggle--checked":e.modelValue}])},[U("input",{type:"checkbox",checked:e.modelValue,class:"nrg-toggle__input","aria-label":e.ariaLabel||void 0,onChange:t[0]||(t[0]=s=>e.$emit("update:modelValue",s.target.checked))},null,40,Hl),e.icon||e.label?(W(),Z("span",Zl,[e.icon?(W(),Z("i",{key:0,class:Jt(e.iconClass)},null,2)):X("v-if",!0),Ee(" "+H(e.label),1)])):X("v-if",!0),t[1]||(t[1]=U("span",{class:"nrg-toggle__slider"},null,-1))],2)])}const Uo=je(Gl,[["render",Yl],["__scopeId","data-v-9d4b2ecb"]]),Xl=new Set(["id","type","x","y","z","g","wires","credentials","_users","validateInput","validateOutputs","outputs","outputContextModes","outputReturnProperties",...Sl]);function Ql(e){return e.replace(/([A-Z])/g," $1").replace(/^./,t=>t.toUpperCase()).trim()}function ec(e){var t,r;return e.type==="object"&&!!((t=e.properties)!=null&&t.value)&&!!((r=e.properties)!=null&&r.type)}function Fo(e){var t;return!!((t=e["x-nrg-form"])!=null&&t.required||typeof e.minLength=="number"&&e.minLength>=1||typeof e.minItems=="number"&&e.minItems>=1)}function Ko(e,t,r,n,o){var l;const s=n||t.title||Ql(e),u=t["x-nrg-form"]??{},d=u.icon||"",m=y=>o?.(String(y))??String(y);if(t["x-nrg-node-type"])return{key:e,label:s,icon:d,inputType:"config",required:r,configType:t["x-nrg-node-type"]};if(ec(t))return{key:e,label:s,icon:d,inputType:"typed",required:r,types:u.typedInputTypes};if(t.type==="array"&&(l=t.items)!=null&&l.enum)return{key:e,label:s,icon:d,inputType:"select",required:r,multiple:!0,options:t.items.enum.map(y=>({value:String(y),label:m(y)}))};if(t.enum)return{key:e,label:s,icon:d,inputType:"select",required:r,multiple:!1,options:t.enum.map(y=>({value:String(y),label:m(y)}))};if(t.anyOf&&t.anyOf.every(y=>y.const!==void 0))return{key:e,label:s,icon:d,inputType:"select",required:r,multiple:!1,options:t.anyOf.map(y=>({value:String(y.const),label:m(y.const)}))};switch(Array.isArray(t.type)?t.type[0]:t.type){case"boolean":return{key:e,label:s,icon:d,inputType:"boolean",required:r,toggle:u.toggle};case"number":case"integer":return{key:e,label:s,icon:d,inputType:"number",required:r,htmlType:"number"};case"array":return u.editorLanguage?{key:e,label:s,icon:d,inputType:"editor",required:r,language:u.editorLanguage}:{key:e,label:s,icon:d,inputType:"array-text",required:r};case"object":return u.editorLanguage?{key:e,label:s,icon:d,inputType:"editor",required:r,language:u.editorLanguage}:{key:e,label:s,icon:d,inputType:"object-json",required:r};default:return u.editorLanguage?{key:e,label:s,icon:d,inputType:"editor",required:r,language:u.editorLanguage}:{key:e,label:s,icon:d,inputType:"text",required:r,htmlType:t.format==="password"?"password":"text"}}}const tc=Pe({name:"NodeRedJsonSchemaForm",components:{NodeRedInputLabel:Me,NodeRedToggle:Uo,NodeRedInput:Ao,NodeRedSelectInput:Lo,NodeRedTypedInput:qo,NodeRedConfigInput:zo,NodeRedEditorInput:Do},props:{node:{type:Object,required:!0},schema:{type:Object,required:!0},errors:{type:Object,default:()=>({})}},computed:{configFields(){var e;return(e=this.schema)!=null&&e.properties?Object.entries(this.schema.properties).filter(([t])=>!Xl.has(t)).map(([t,r])=>Ko(t,r,Fo(r),this.resolveI18n("configs",t),n=>this.resolveOptionLabel(t,n))):[]},credentialFields(){var e,t;const r=(t=(e=this.schema)==null?void 0:e.properties)==null?void 0:t.credentials;return r!=null&&r.properties?Object.entries(r.properties).map(([n,o])=>{const l=Ko(n,o,Fo(o),this.resolveI18n("credentials",n));return l.inputType!=="text"?{...l,inputType:"text",htmlType:o.format==="password"?"password":"text"}:l}):[]}},methods:{fieldId(e){var t;return`nrg-${((t=this.node)==null?void 0:t.id)??"node"}-${e}`},setObjectField(e,t){const r=this.node;try{r[e]=JSON.parse(t)}catch{r[e]=t}},resolveI18n(e,t){const r=this.$i18n(`${e}.${t}`),n=`${this.node.type}.${e}.${t}`;if(r&&r!==n&&r!==`${e}.${t}`)return r},resolveOptionLabel(e,t){const r=`options.${e}.${t}`,n=this.$i18n(r),o=`${this.node.type}.${r}`;if(n&&n!==o&&n!==r)return n}}}),rc={key:1},nc={key:2},oc=["id","checked","onChange"],ac={key:6},sc=["id","value","onInput"],ic={key:0,class:"node-red-vue-input-error-message"};function lc(e,t,r,n,o,l){const s=me("NodeRedInput"),u=me("NodeRedToggle"),d=me("NodeRedInputLabel"),m=me("NodeRedSelectInput"),y=me("NodeRedTypedInput"),S=me("NodeRedConfigInput"),b=me("NodeRedEditorInput");return W(),Z("div",null,[(W(!0),Z(Qe,null,et(e.configFields,c=>(W(),Z("div",{key:c.key,class:"form-row"},[c.inputType==="text"||c.inputType==="number"?(W(),ye(s,{key:0,value:e.node[c.key],"onUpdate:value":v=>e.node[c.key]=v,type:c.htmlType,label:c.label,icon:c.icon,required:c.required,error:e.errors[`node.${c.key}`],"input-id":e.fieldId(c.key)},null,8,["value","onUpdate:value","type","label","icon","required","error","input-id"])):c.inputType==="boolean"&&c.toggle?(W(),Z("div",rc,[be(u,{"model-value":e.node[c.key],label:c.label,icon:c.icon,"onUpdate:modelValue":v=>e.node[c.key]=v},null,8,["model-value","label","icon","onUpdate:modelValue"])])):c.inputType==="boolean"?(W(),Z("div",nc,[be(d,{label:c.label,icon:c.icon,required:c.required,"html-for":e.fieldId(c.key)},null,8,["label","icon","required","html-for"]),U("input",{id:e.fieldId(c.key),type:"checkbox",checked:e.node[c.key],style:{width:"auto",margin:"0"},onChange:v=>{e.node[c.key]=v.target.checked}},null,40,oc)])):c.inputType==="select"?(W(),ye(m,{key:3,value:e.node[c.key],"onUpdate:value":v=>e.node[c.key]=v,options:c.options,multiple:c.multiple,label:c.label,icon:c.icon,required:c.required,error:e.errors[`node.${c.key}`],"label-id":e.fieldId(c.key)},null,8,["value","onUpdate:value","options","multiple","label","icon","required","error","label-id"])):c.inputType==="typed"?(W(),ye(y,{key:4,value:e.node[c.key],"onUpdate:value":v=>e.node[c.key]=v,types:c.types,label:c.label,icon:c.icon,required:c.required,error:e.errors[`node.${c.key}`],"label-id":e.fieldId(c.key)},null,8,["value","onUpdate:value","types","label","icon","required","error","label-id"])):c.inputType==="config"?(W(),ye(S,{key:5,value:e.node[c.key],"onUpdate:value":v=>e.node[c.key]=v,type:c.configType,node:e.node,"prop-name":c.key,label:c.label,icon:c.icon,required:c.required,error:e.errors[`node.${c.key}`],"label-id":e.fieldId(c.key)},null,8,["value","onUpdate:value","type","node","prop-name","label","icon","required","error","label-id"])):c.inputType==="array-text"?(W(),Z("div",ac,[be(d,{label:c.label,icon:c.icon,required:c.required,"html-for":e.fieldId(c.key)},null,8,["label","icon","required","html-for"]),t[0]||(t[0]=U("span",{style:{display:"block","font-size":"11px",color:"var(--red-ui-text-color-disabled, #999)","margin-bottom":"4px"}}," One entry per line ",-1)),U("textarea",{id:e.fieldId(c.key),value:Array.isArray(e.node[c.key])?e.node[c.key].join(`
12
+ `):e.node[c.key]??"",rows:"4",style:{width:"100%",resize:"vertical","font-family":"monospace","font-size":"13px"},onInput:v=>e.node[c.key]=v.target.value.split(`
13
+ `).filter(Boolean)},null,40,sc),e.errors[`node.${c.key}`]?(W(),Z("span",ic,H(e.errors[`node.${c.key}`]),1)):X("v-if",!0)])):c.inputType==="object-json"?(W(),ye(b,{key:7,value:typeof e.node[c.key]=="string"?e.node[c.key]:JSON.stringify(e.node[c.key]??{},null,2),language:"json",label:c.label,icon:c.icon,required:c.required,error:e.errors[`node.${c.key}`],"label-id":e.fieldId(c.key),"onUpdate:value":v=>e.setObjectField(c.key,v)},null,8,["value","label","icon","required","error","label-id","onUpdate:value"])):c.inputType==="editor"?(W(),ye(b,{key:8,value:e.node[c.key],"onUpdate:value":v=>e.node[c.key]=v,language:c.language,label:c.label,icon:c.icon,required:c.required,error:e.errors[`node.${c.key}`],"label-id":e.fieldId(c.key)},null,8,["value","onUpdate:value","language","label","icon","required","error","label-id"])):X("v-if",!0)]))),128)),(W(!0),Z(Qe,null,et(e.credentialFields,c=>(W(),Z("div",{key:`cred-${c.key}`,class:"form-row"},[be(s,{value:e.node.credentials[c.key],"onUpdate:value":v=>e.node.credentials[c.key]=v,type:c.htmlType,label:c.label,icon:c.icon,required:c.required,error:e.errors[`node.credentials.${c.key}`],"input-id":e.fieldId(`credentials.${c.key}`)},null,8,["value","onUpdate:value","type","label","icon","required","error","input-id"])]))),128))])}const Bo=je(tc,[["render",lc]]);function cc(e,t,r,n){const o=aa(yl,{node:e,schema:r,features:n});return o.component("NodeRedInputLabel",Me),o.component("NodeRedToggle",Uo),o.component("NodeRedInput",Ao),o.component("NodeRedTypedInput",qo),o.component("NodeRedConfigInput",zo),o.component("NodeRedSelectInput",Lo),o.component("NodeRedEditorInput",Do),o.component("NodeRedJsonSchemaForm",Bo),o.component("NodeRedNodeForm",t?.component??Bo),o.config.globalProperties.$i18n=l=>e._(`${e.type}.${l}`),o}function uc(e,t,r,n,o){$(`#${o}`).empty();const{_newState:l,_app:s,...u}=e,d=Yr(u);e._newState=d,e._app=cc(d,t,r,n),e._app.mount(`#${o}`)}function fr(e){e._app&&(e._app.unmount(),e._app=null)}function Wo(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 n,o;t.credentials[r]=(n=e.credentials)==null?void 0:n[r],e._def.credentials[r].type==="password"&&(t.credentials[`has_${r}`]=((o=e.credentials)==null?void 0:o[`has_${r}`])||!1)}),t}function Go(e,t){const r={};return new Set([...Object.keys(e),...Object.keys(t??{})]).forEach(n=>{const o=e[n],l=(t??{})[n];if(!Array.isArray(o)&&typeof o=="object"&&o!==null){const s=Go(o,l);Object.keys(s).length&&(r[n]=s)}else La(o,l)||(r[n]=o)}),r}function Jo(e,t){for(const r of Object.keys(t)){const n=t[r];Array.isArray(n)?e[r]=[...n]:n!==null&&typeof n=="object"?((!e[r]||typeof e[r]!="object"||Array.isArray(e[r]))&&(e[r]={}),Jo(e[r],n)):e[r]=n}}function Xe(e,...t){for(const r of t){const n=e._(r);if(n&&n!==r)return n}}function dc(e){return function(){return this.name?this.name:Xe(this,`${e}.label`)??e}}function pc(e){return function(){return Xe(this,`${e}.paletteLabel`,`${e}.label`)??e}}function fc(e){return function(t){return Xe(this,`${e}.inputLabels.${t}`,`${e}.inputLabels`)}}function hc(e,t,r,n){return function(o){if(t&&o<t.length)return t[o];if(r){let l=n;if(this.errorPort){if(o===l)return"Error";l++}if(this.completePort){if(o===l)return"Complete";l++}if(this.statusPort){if(o===l)return"Status";l++}}return Xe(this,`${e}.outputLabels.${o}`,`${e}.outputLabels`)}}function mc(e){Object.keys(e._def.defaults??{}).forEach(t=>{var r,n;if(!((n=(r=e._def.defaults)==null?void 0:r[t])!=null&&n.type))return;const o=e[t],l=e._newState[t];if(o===l)return;const s=RED.nodes.node(o);if(s&&s._def.category==="config"){const u=s.users.findIndex(d=>d.id===e.id);u!==-1&&s.users.splice(u,1)}}),Object.keys(e._def.defaults??{}).forEach(t=>{var r,n;if(!((n=(r=e._def.defaults)==null?void 0:r[t])!=null&&n.type))return;const o=e._newState[t];if(!o)return;const l=RED.nodes.node(o);l&&l._def.category==="config"&&l.users.findIndex(s=>s.id===e.id)===-1&&l.users.push(e)})}function yc(e,t,r){Object.keys(e._def.defaults??{}).forEach(n=>{if(e._def.defaults[n].type)return;const o=`node-config-input-${n}`;let l=$(`#${o}`);l.length||(l=$("<input>",{type:"hidden",id:o}),$(`#${r}`).append(l)),l.val(t[n]??"")})}function vc(e,t){var r,n,o;const l="errorPort"in e||"completePort"in e||"statusPort"in e;if(l&&!("outputs"in e)){let s=t;(r=e.errorPort)!=null&&r.value&&s++,(n=e.completePort)!=null&&n.value&&s++,(o=e.statusPort)!=null&&o.value&&s++,e.outputs={value:s}}return{hasBuiltinPorts:l,baseOutputs:t}}function gc(e,t,r,n){const o=r??[],l=[];for(let s=0;s<n;s++){const u=o[s]??Xe(e,`${t}.outputLabels.${s}`,`${t}.outputLabels`)??`Output ${s}`;l.push({index:s,label:u})}return l}async function Ho(e){const{type:t}=e;try{let r=function(){const c=s.form,v=gc(this,t,s.outputPortNames,b),E={hasInputSchema:!!s.inputSchema,hasOutputSchema:!!s.outputsSchema,outputPorts:v};uc(this,c,y,E,m)},n=function(){var c;const v=this;fr(v);const E=Wo(v._newState),h=Wo(v),p=Go(h,E),a=!!((c=Object.keys(p))!=null&&c.length);if(!a)return!1;if(mc(v),Jo(v,E),e.category==="config"){yc(v,E,m);return}return{changed:a,history:[{t:"edit",node:v,changes:p,links:[],dirty:RED.nodes.dirty(),changed:a}]}},o=function(){fr(this)},l=function(){fr(this)};const s=e,u=s.defaults?{...s.defaults}:void 0,d=s.credentials??void 0,m=`nrg-app-${t}`;$("<script>",{type:"text/html","data-template-name":t,html:`<div id="${m}"></div>`}).appendTo("body");const y=ni(s.configSchema,s.credentialsSchema);let S=!1,b=s.outputs||0;if(u&&({hasBuiltinPorts:S,baseOutputs:b}=vc(u,b)),y&&u){const c=Object.keys(u)[0];if(c){const{required:v,...E}=u[c];u[c]={...E,validate:function(h,p){return oi(this,y)}}}}RED.nodes.registerType(t,{type:t,defaults:u,credentials:d,category:s.category,color:s.color||"#FFFFFF",icon:s.icon,inputs:s.inputs||0,outputs:s.outputs||0,label:s.label||dc(t),paletteLabel:s.paletteLabel||pc(t),labelStyle:s.labelStyle,inputLabels:s.inputLabels||fc(t),outputLabels:s.outputLabels||hc(t,s.outputPortNames,S,b),align:s.align||"left",button:s.button?{...s.button,onclick:s.button.onClick}:void 0,oneditprepare:r,oneditsave:n,oneditcancel:o,oneditdelete:l,oneditresize:s.onEditResize,onpaletteadd:s.onPaletteAdd,onpaletteremove:s.onPaletteRemove}),fa(t)}catch(r){throw console.error(`Error while registering node type ${t}:`,r),r}}async function bc(e){try{await Promise.all(e.map(t=>Ho(t)))}catch(t){throw console.error("Error registering node types:",t),t}}function $c(){const e=Ht("__nrg_form_node"),t=Ht("__nrg_form_schema"),r=Ht("__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{Sa as defineNode,Ho as registerType,bc as registerTypes,$c as useFormNode};