narrat 3.7.0 → 3.7.1

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.
@@ -171,7 +171,7 @@ This will fail in production.`);s=Zh,s._s.has(r)||(i?d_(r,t,o,s):N7(r,o,s),proce
171
171
  *
172
172
  * MIT License
173
173
  */(function(){HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(n){var r=this;if(!r.ctx||!r.ctx.listener)return r;for(var o=r._howls.length-1;o>=0;o--)r._howls[o].stereo(n);return r},HowlerGlobal.prototype.pos=function(n,r,o){var i=this;if(!i.ctx||!i.ctx.listener)return i;if(r=typeof r!="number"?i._pos[1]:r,o=typeof o!="number"?i._pos[2]:o,typeof n=="number")i._pos=[n,r,o],typeof i.ctx.listener.positionX<"u"?(i.ctx.listener.positionX.setTargetAtTime(i._pos[0],Howler.ctx.currentTime,.1),i.ctx.listener.positionY.setTargetAtTime(i._pos[1],Howler.ctx.currentTime,.1),i.ctx.listener.positionZ.setTargetAtTime(i._pos[2],Howler.ctx.currentTime,.1)):i.ctx.listener.setPosition(i._pos[0],i._pos[1],i._pos[2]);else return i._pos;return i},HowlerGlobal.prototype.orientation=function(n,r,o,i,a,s){var l=this;if(!l.ctx||!l.ctx.listener)return l;var c=l._orientation;if(r=typeof r!="number"?c[1]:r,o=typeof o!="number"?c[2]:o,i=typeof i!="number"?c[3]:i,a=typeof a!="number"?c[4]:a,s=typeof s!="number"?c[5]:s,typeof n=="number")l._orientation=[n,r,o,i,a,s],typeof l.ctx.listener.forwardX<"u"?(l.ctx.listener.forwardX.setTargetAtTime(n,Howler.ctx.currentTime,.1),l.ctx.listener.forwardY.setTargetAtTime(r,Howler.ctx.currentTime,.1),l.ctx.listener.forwardZ.setTargetAtTime(o,Howler.ctx.currentTime,.1),l.ctx.listener.upX.setTargetAtTime(i,Howler.ctx.currentTime,.1),l.ctx.listener.upY.setTargetAtTime(a,Howler.ctx.currentTime,.1),l.ctx.listener.upZ.setTargetAtTime(s,Howler.ctx.currentTime,.1)):l.ctx.listener.setOrientation(n,r,o,i,a,s);else return c;return l},Howl.prototype.init=function(n){return function(r){var o=this;return o._orientation=r.orientation||[1,0,0],o._stereo=r.stereo||null,o._pos=r.pos||null,o._pannerAttr={coneInnerAngle:typeof r.coneInnerAngle<"u"?r.coneInnerAngle:360,coneOuterAngle:typeof r.coneOuterAngle<"u"?r.coneOuterAngle:360,coneOuterGain:typeof r.coneOuterGain<"u"?r.coneOuterGain:0,distanceModel:typeof r.distanceModel<"u"?r.distanceModel:"inverse",maxDistance:typeof r.maxDistance<"u"?r.maxDistance:1e4,panningModel:typeof r.panningModel<"u"?r.panningModel:"HRTF",refDistance:typeof r.refDistance<"u"?r.refDistance:1,rolloffFactor:typeof r.rolloffFactor<"u"?r.rolloffFactor:1},o._onstereo=r.onstereo?[{fn:r.onstereo}]:[],o._onpos=r.onpos?[{fn:r.onpos}]:[],o._onorientation=r.onorientation?[{fn:r.onorientation}]:[],n.call(this,r)}}(Howl.prototype.init),Howl.prototype.stereo=function(n,r){var o=this;if(!o._webAudio)return o;if(o._state!=="loaded")return o._queue.push({event:"stereo",action:function(){o.stereo(n,r)}}),o;var i=typeof Howler.ctx.createStereoPanner>"u"?"spatial":"stereo";if(typeof r>"u")if(typeof n=="number")o._stereo=n,o._pos=[n,0,0];else return o._stereo;for(var a=o._getSoundIds(r),s=0;s<a.length;s++){var l=o._soundById(a[s]);if(l)if(typeof n=="number")l._stereo=n,l._pos=[n,0,0],l._node&&(l._pannerAttr.panningModel="equalpower",(!l._panner||!l._panner.pan)&&t(l,i),i==="spatial"?typeof l._panner.positionX<"u"?(l._panner.positionX.setValueAtTime(n,Howler.ctx.currentTime),l._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),l._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):l._panner.setPosition(n,0,0):l._panner.pan.setValueAtTime(n,Howler.ctx.currentTime)),o._emit("stereo",l._id);else return l._stereo}return o},Howl.prototype.pos=function(n,r,o,i){var a=this;if(!a._webAudio)return a;if(a._state!=="loaded")return a._queue.push({event:"pos",action:function(){a.pos(n,r,o,i)}}),a;if(r=typeof r!="number"?0:r,o=typeof o!="number"?-.5:o,typeof i>"u")if(typeof n=="number")a._pos=[n,r,o];else return a._pos;for(var s=a._getSoundIds(i),l=0;l<s.length;l++){var c=a._soundById(s[l]);if(c)if(typeof n=="number")c._pos=[n,r,o],c._node&&((!c._panner||c._panner.pan)&&t(c,"spatial"),typeof c._panner.positionX<"u"?(c._panner.positionX.setValueAtTime(n,Howler.ctx.currentTime),c._panner.positionY.setValueAtTime(r,Howler.ctx.currentTime),c._panner.positionZ.setValueAtTime(o,Howler.ctx.currentTime)):c._panner.setPosition(n,r,o)),a._emit("pos",c._id);else return c._pos}return a},Howl.prototype.orientation=function(n,r,o,i){var a=this;if(!a._webAudio)return a;if(a._state!=="loaded")return a._queue.push({event:"orientation",action:function(){a.orientation(n,r,o,i)}}),a;if(r=typeof r!="number"?a._orientation[1]:r,o=typeof o!="number"?a._orientation[2]:o,typeof i>"u")if(typeof n=="number")a._orientation=[n,r,o];else return a._orientation;for(var s=a._getSoundIds(i),l=0;l<s.length;l++){var c=a._soundById(s[l]);if(c)if(typeof n=="number")c._orientation=[n,r,o],c._node&&(c._panner||(c._pos||(c._pos=a._pos||[0,0,-.5]),t(c,"spatial")),typeof c._panner.orientationX<"u"?(c._panner.orientationX.setValueAtTime(n,Howler.ctx.currentTime),c._panner.orientationY.setValueAtTime(r,Howler.ctx.currentTime),c._panner.orientationZ.setValueAtTime(o,Howler.ctx.currentTime)):c._panner.setOrientation(n,r,o)),a._emit("orientation",c._id);else return c._orientation}return a},Howl.prototype.pannerAttr=function(){var n=this,r=arguments,o,i,a;if(!n._webAudio)return n;if(r.length===0)return n._pannerAttr;if(r.length===1)if(typeof r[0]=="object")o=r[0],typeof i>"u"&&(o.pannerAttr||(o.pannerAttr={coneInnerAngle:o.coneInnerAngle,coneOuterAngle:o.coneOuterAngle,coneOuterGain:o.coneOuterGain,distanceModel:o.distanceModel,maxDistance:o.maxDistance,refDistance:o.refDistance,rolloffFactor:o.rolloffFactor,panningModel:o.panningModel}),n._pannerAttr={coneInnerAngle:typeof o.pannerAttr.coneInnerAngle<"u"?o.pannerAttr.coneInnerAngle:n._coneInnerAngle,coneOuterAngle:typeof o.pannerAttr.coneOuterAngle<"u"?o.pannerAttr.coneOuterAngle:n._coneOuterAngle,coneOuterGain:typeof o.pannerAttr.coneOuterGain<"u"?o.pannerAttr.coneOuterGain:n._coneOuterGain,distanceModel:typeof o.pannerAttr.distanceModel<"u"?o.pannerAttr.distanceModel:n._distanceModel,maxDistance:typeof o.pannerAttr.maxDistance<"u"?o.pannerAttr.maxDistance:n._maxDistance,refDistance:typeof o.pannerAttr.refDistance<"u"?o.pannerAttr.refDistance:n._refDistance,rolloffFactor:typeof o.pannerAttr.rolloffFactor<"u"?o.pannerAttr.rolloffFactor:n._rolloffFactor,panningModel:typeof o.pannerAttr.panningModel<"u"?o.pannerAttr.panningModel:n._panningModel});else return a=n._soundById(parseInt(r[0],10)),a?a._pannerAttr:n._pannerAttr;else r.length===2&&(o=r[0],i=parseInt(r[1],10));for(var s=n._getSoundIds(i),l=0;l<s.length;l++)if(a=n._soundById(s[l]),a){var c=a._pannerAttr;c={coneInnerAngle:typeof o.coneInnerAngle<"u"?o.coneInnerAngle:c.coneInnerAngle,coneOuterAngle:typeof o.coneOuterAngle<"u"?o.coneOuterAngle:c.coneOuterAngle,coneOuterGain:typeof o.coneOuterGain<"u"?o.coneOuterGain:c.coneOuterGain,distanceModel:typeof o.distanceModel<"u"?o.distanceModel:c.distanceModel,maxDistance:typeof o.maxDistance<"u"?o.maxDistance:c.maxDistance,refDistance:typeof o.refDistance<"u"?o.refDistance:c.refDistance,rolloffFactor:typeof o.rolloffFactor<"u"?o.rolloffFactor:c.rolloffFactor,panningModel:typeof o.panningModel<"u"?o.panningModel:c.panningModel};var f=a._panner;f||(a._pos||(a._pos=n._pos||[0,0,-.5]),t(a,"spatial"),f=a._panner),f.coneInnerAngle=c.coneInnerAngle,f.coneOuterAngle=c.coneOuterAngle,f.coneOuterGain=c.coneOuterGain,f.distanceModel=c.distanceModel,f.maxDistance=c.maxDistance,f.refDistance=c.refDistance,f.rolloffFactor=c.rolloffFactor,f.panningModel=c.panningModel}return n},Sound.prototype.init=function(n){return function(){var r=this,o=r._parent;r._orientation=o._orientation,r._stereo=o._stereo,r._pos=o._pos,r._pannerAttr=o._pannerAttr,n.call(this),r._stereo?o.stereo(r._stereo):r._pos&&o.pos(r._pos[0],r._pos[1],r._pos[2],r._id)}}(Sound.prototype.init),Sound.prototype.reset=function(n){return function(){var r=this,o=r._parent;return r._orientation=o._orientation,r._stereo=o._stereo,r._pos=o._pos,r._pannerAttr=o._pannerAttr,r._stereo?o.stereo(r._stereo):r._pos?o.pos(r._pos[0],r._pos[1],r._pos[2],r._id):r._panner&&(r._panner.disconnect(0),r._panner=void 0,o._refreshBuffer(r)),n.call(this)}}(Sound.prototype.reset);var t=function(n,r){r=r||"spatial",r==="spatial"?(n._panner=Howler.ctx.createPanner(),n._panner.coneInnerAngle=n._pannerAttr.coneInnerAngle,n._panner.coneOuterAngle=n._pannerAttr.coneOuterAngle,n._panner.coneOuterGain=n._pannerAttr.coneOuterGain,n._panner.distanceModel=n._pannerAttr.distanceModel,n._panner.maxDistance=n._pannerAttr.maxDistance,n._panner.refDistance=n._pannerAttr.refDistance,n._panner.rolloffFactor=n._pannerAttr.rolloffFactor,n._panner.panningModel=n._pannerAttr.panningModel,typeof n._panner.positionX<"u"?(n._panner.positionX.setValueAtTime(n._pos[0],Howler.ctx.currentTime),n._panner.positionY.setValueAtTime(n._pos[1],Howler.ctx.currentTime),n._panner.positionZ.setValueAtTime(n._pos[2],Howler.ctx.currentTime)):n._panner.setPosition(n._pos[0],n._pos[1],n._pos[2]),typeof n._panner.orientationX<"u"?(n._panner.orientationX.setValueAtTime(n._orientation[0],Howler.ctx.currentTime),n._panner.orientationY.setValueAtTime(n._orientation[1],Howler.ctx.currentTime),n._panner.orientationZ.setValueAtTime(n._orientation[2],Howler.ctx.currentTime)):n._panner.setOrientation(n._orientation[0],n._orientation[1],n._orientation[2])):(n._panner=Howler.ctx.createStereoPanner(),n._panner.pan.setValueAtTime(n._stereo,Howler.ctx.currentTime)),n._panner.connect(n._node),n._paused||n._parent.pause(n._id,!0).play(n._id,!0)}})()})(Ss);function ki(e){return new Promise((t,n)=>{setTimeout(t,e)})}const p_=e=>e.reduce((t,n)=>({...t,[n]:n}),{}),m_=e=>e!==null&&typeof e=="object"&&typeof e.then=="function"&&typeof e.catch=="function",L7=["music","ambiant","sound"],R7=p_(L7),ii=oo("audio",{state:()=>{const e=new Map;for(const t in R7)e.set(t,{channels:[],options:{volume:1}});return{modes:e,masterVolume:1}},actions:{stopAll(){this.modes.forEach(e=>{e.channels.forEach((t,n)=>{t&&(this.actuallyStopChannel(t),e.channels[n]=null)})})},async stopChannel(e,t){const n=this.getAudioChannel(e,t);if(!n)return;const{fadeOutTime:r}=L0(n.audio);if(this.setAudioChannel(e,t,null),da().options.musicFadeOutTime){const o=ll(n.audio);o&&o.fade(o.volume(n.howlerId),0,r,n.howlerId),await ki(r)}this.actuallyStopChannel(n)},async pauseChannel(e,t){const n=this.getAudioChannel(e,t);if(!n)return;const r=ll(n.audio);if(!r){St(`Could not find audio ${n.audio}`);return}r.pause(n.howlerId)},async playChannel(e,t,n){Ss.Howler.ctx.state==="suspended"&&(console.warn("Audio context is suspended :o"),Ss.Howler.ctx.resume());const r=this.getAudioChannel(e,n);if(e==="sound")return this.actuallyPlayChannel(e,n,t);r&&r.audio!==t?await this.changeChannel(e,t,n):r&&r.audio===t?await this.resumeChannel(e,n):await this.actuallyPlayChannel(e,n,t)},async resumeChannel(e,t){const n=this.getAudioChannel(e,t);if(!n)return;const r=ll(n.audio);if(!r){St(`Could not find audio ${n.audio}`);return}r.play(n.howlerId)},async changeChannel(e,t,n){this.getAudioChannel(e,n)&&e!=="sound"&&await this.stopChannel(e,n),await this.actuallyPlayChannel(e,n,t)},actuallyStopChannel(e){Xme(e.audio,e.howlerId)},getAudioChannel(e,t){return this.modes.get(e).channels[t]||null},setAudioChannel(e,t,n){this.modes.get(e).channels[t]=n},async actuallyPlayChannel(e,t,n){const r=ll(n);if(!r){St(`Could not find audio ${n}`);return}const{fadeInTime:o,fadeInDelay:i}=L0(n),a=this.audioVolume(e,n);if(e!=="sound"){const s=r.play();r.volume(0,s),r.pause(s),this.setAudioChannel(e,t,{audio:n,howlerId:s}),await ki(i);const l=this.getAudioChannel(e,t);l!==null&&l.audio===n&&(r.play(s),r.fade(0,a,o,s))}else if(e==="sound"){const s=r.play();r.volume(a,s),this.setAudioChannel(e,t,{audio:n,howlerId:s})}},reloadAudio(e){for(const t in e.modes){if(t==="sound")continue;const n=t;this.modes.get(n).options=Xn(e.modes[n].options);for(const r in e.modes[n].channels){const o=e.modes[n].channels[r];o&&o.audio&&this.actuallyPlayChannel(n,Number(r),o.audio)}}},stopSound(e){const t=ll(e);t&&t.stop()},generateSaveData(){const e={};for(const t in R7){const n=this.modes.get(t);e[t]={options:Xn(n.options),channels:Xn(n.channels).map(r=>r?{audio:r.audio}:{audio:null})}}return{modes:e,masterVolume:this.masterVolume}},loadSaveData(e){this.masterVolume=e.masterVolume},reset(){this.stopAll()},setModeVolume(e,t){const n=this.modes.get(e);n.options.volume=t;for(const r in n.channels){const o=n.channels[r];if(o){const i=ll(o.audio);i&&i.volume(this.modeVolume(e),o.howlerId)}}},setMasterVolume(e){this.masterVolume=e,Ss.Howler.volume(e)},modeVolume(e){return this.masterVolume*this.modes.get(e).options.volume},audioVolume(e,t){var n;return this.modeVolume(e)*(((n=uz(t))==null?void 0:n.volume)??1)}}}),B7={};Ss.Howler.volume(.5);let v_={};async function Qme(e){Fi.log("Loading audio");const t=[];Ss.Howler.volume(e.options.volume);for(const n in e.files){const r=e.files[n];r.src||(r.src=r.path,r.path||console.error(`Audio config for ${n} doesn't have any \`src\` value to find the file`),console.warn("Using `path` for audio and musics is deprecated. Please replace `path` with `src` in your config file!")),t.push(Yme(n,e.files[n]))}return e.audioTriggers&&(v_=e.audioTriggers),Promise.all(t)}function cu(e){v_[e]&&ii().playChannel("sound",v_[e],0)}async function Yme(e,t){return new Promise((n,r)=>{Fi.log(`Loading audio ${t.src}`);const o=new Ss.Howl({...t,src:li(t.src)});o.load(),B7[e]=o,n()})}function Xme(e,t){const n=ll(e);if(!n){du(`Could not find music ${e}`);return}n.stop(t)}function ll(e){return B7[e]}function Zme(e){const t=ll(e),{fadeInTime:n}=L0(e),r=t.play(),i=ii().audioVolume("music",e);return t.fade(0,i,n,r),r}async function eve(e,t){const n=ll(e),{fadeOutTime:r}=L0(e);n.fade(n.volume(t),0,r,t),await ki(r),n.stop(t)}function tve(e,t){return e-t*_p().options.extraPointsPerLevel}function F7(e,t){const{options:n}=_p();let r=e;n.showDifficultyWithoutModifiers||(r=tve(e,t));const o=_p().options;let i=!1,a=0,s=o.difficultyText[0][1];for(;!i;)o.difficultyText.length>a&&r>=o.difficultyText[a][0]?s=o.difficultyText[a][1]:i=!0,a++;let l="";return n.showDifficultyText&&n.showDifficultyNumber?l=`${s} (${r})`:n.showDifficultyText?l=s:n.showDifficultyNumber&&(l=r.toString()),l}function nve({skill:e,skillCheckId:t,value:n}){const r=Gr(),o=r.getSkillCheck(t),i=q0(e),a=r.skills[e].level,s=F7(n,a);let l=!0,c=`<span class='skill-check'>[<span class='skill-check-name'>${i.name}</span> - `;return o.happened?o.succeeded?c="":(l=!1,c+=` <span class='skill-check-difficulty'>${s}</span> - <span class='skill-check-failed'>FAILED</span>]</span>`):c+=` <span class='skill-check-difficulty'>${s}</span>]</span>`,{difficultyText:c,allowed:l}}function rve(e,t){const n=Gr(),r=q0(t.skill),o=F7(t.difficulty,n.skills[t.skill].level);return`<span class='passive-skill-check skill-check'>[<span class='skill-check-name'>${r.name}</span> - <span class='skill-check-difficulty'>${o}</span> - ${e?'<span class="skill-check-success">Success</span>':'<span class="skill-check-failed">Failure</span>'}]</span>`}function ove(e){const{options:t}=_p(),n=ive(t,e),i=Gr().skills[e].level*t.extraPointsPerLevel;let a=n.reduce((s,l)=>s+l.unmodified,i);return t.finalRollIsHighest?(a=n.reduce((s,l)=>l.modified>s?l.modified:s,0),Fi.log(`[SKILL CHECK] Keeping only highest roll: ${a}`)):t.finalRollIsLowest&&(a=n.reduce((s,l)=>l.modified<s?l.modified:s,n[0].modified),Fi.log(`[SKILL CHECK] Keeping only lowest roll: ${a}`)),{roll:a,rolls:n}}function ive(e,t){const r=Gr().skills[t],o=r.level*e.extraPointsPerLevel;let{diceRange:i,diceCount:a}=e;e.extraDicePerLevel&&(a+=e.extraDicePerLevel*r.level);const s=[];for(let l=0;l<a;l++){const c=ave(i),f=c+o;Fi.log(`[SKILL CHECK] Roll ${l+1}/${a}: ${f}. (Base roll: ${c}, modifier: ${o} - Skill level: ${r.level})`),s.push({unmodified:c,modified:f})}return s}function ave(e){return Math.floor(Math.random()*e[1])+e[0]}function sve(e){const{skills:t}=Ms(),{roll:n,rolls:r}=ove(e.skill),o=t[e.skill];let i=!1;if(typeof e.winsNeeded=="number"){const a=r.reduce((s,l)=>(V7(l.modified,e.difficulty)&&s++,s),0);a>=e.winsNeeded&&(i=!0),Fi.log(`[SKILL CHECK ${o.name}] - Dice pool mode. ${e.winsNeeded} wins needed. Got ${a} successes.
174
- (${e.id} - ${a}/${e.winsNeeded} - rolls: ${JSON.stringify(r.map(s=>s.modified))})`)}else i=V7(n,e.difficulty),Fi.log(`[SKILL CHECK ${o.name}]: ${i?"✅":"❌"}`,`(${e.id}) - ${n}/${e.difficulty}`);return cu(i?"onSkillCheckSuccess":"onSkillCheckFailure"),i}function V7(e,t){const{options:n}=_p();let r=e>=t;return n.successOnRollsBelowThreshold&&(r=e<=t),n.failOnRollsEqualToThreshold&&e===t&&(r=!1),r}var R={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Type=e.JsonType=e.JavaScriptTypeBuilder=e.JsonTypeBuilder=e.TypeBuilder=e.TypeBuilderError=e.TransformEncodeBuilder=e.TransformDecodeBuilder=e.TemplateLiteralDslParser=e.TemplateLiteralGenerator=e.TemplateLiteralGeneratorError=e.TemplateLiteralFinite=e.TemplateLiteralFiniteError=e.TemplateLiteralParser=e.TemplateLiteralParserError=e.TemplateLiteralResolver=e.TemplateLiteralPattern=e.TemplateLiteralPatternError=e.UnionResolver=e.KeyArrayResolver=e.KeyArrayResolverError=e.KeyResolver=e.ObjectMap=e.Intrinsic=e.IndexedAccessor=e.TypeClone=e.TypeExtends=e.TypeExtendsResult=e.TypeExtendsError=e.ExtendsUndefined=e.TypeGuard=e.TypeGuardUnknownTypeError=e.ValueGuard=e.FormatRegistry=e.TypeBoxError=e.TypeRegistry=e.PatternStringExact=e.PatternNumberExact=e.PatternBooleanExact=e.PatternString=e.PatternNumber=e.PatternBoolean=e.Kind=e.Hint=e.Optional=e.Readonly=e.Transform=void 0,e.Transform=Symbol.for("TypeBox.Transform"),e.Readonly=Symbol.for("TypeBox.Readonly"),e.Optional=Symbol.for("TypeBox.Optional"),e.Hint=Symbol.for("TypeBox.Hint"),e.Kind=Symbol.for("TypeBox.Kind"),e.PatternBoolean="(true|false)",e.PatternNumber="(0|[1-9][0-9]*)",e.PatternString="(.*)",e.PatternBooleanExact=`^${e.PatternBoolean}$`,e.PatternNumberExact=`^${e.PatternNumber}$`,e.PatternStringExact=`^${e.PatternString}$`;var t;(function(T){const x=new Map;function O(){return new Map(x)}T.Entries=O;function S(){return x.clear()}T.Clear=S;function C(pe){return x.delete(pe)}T.Delete=C;function _(pe){return x.has(pe)}T.Has=_;function B(pe,_e){x.set(pe,_e)}T.Set=B;function Z(pe){return x.get(pe)}T.Get=Z})(t||(e.TypeRegistry=t={}));class n extends Error{constructor(x){super(x)}}e.TypeBoxError=n;var r;(function(T){const x=new Map;function O(){return new Map(x)}T.Entries=O;function S(){return x.clear()}T.Clear=S;function C(pe){return x.delete(pe)}T.Delete=C;function _(pe){return x.has(pe)}T.Has=_;function B(pe,_e){x.set(pe,_e)}T.Set=B;function Z(pe){return x.get(pe)}T.Get=Z})(r||(e.FormatRegistry=r={}));var o;(function(T){function x(_e){return Array.isArray(_e)}T.IsArray=x;function O(_e){return typeof _e=="bigint"}T.IsBigInt=O;function S(_e){return typeof _e=="boolean"}T.IsBoolean=S;function C(_e){return _e===null}T.IsNull=C;function _(_e){return typeof _e=="number"}T.IsNumber=_;function B(_e){return typeof _e=="object"&&_e!==null}T.IsObject=B;function Z(_e){return typeof _e=="string"}T.IsString=Z;function pe(_e){return _e===void 0}T.IsUndefined=pe})(o||(e.ValueGuard=o={}));class i extends n{}e.TypeGuardUnknownTypeError=i;var a;(function(T){function x(z){try{return new RegExp(z),!0}catch{return!1}}function O(z){if(!o.IsString(z))return!1;for(let q=0;q<z.length;q++){const X=z.charCodeAt(q);if(X>=7&&X<=13||X===27||X===127)return!1}return!0}function S(z){return B(z)||he(z)}function C(z){return o.IsUndefined(z)||o.IsBigInt(z)}function _(z){return o.IsUndefined(z)||o.IsNumber(z)}function B(z){return o.IsUndefined(z)||o.IsBoolean(z)}function Z(z){return o.IsUndefined(z)||o.IsString(z)}function pe(z){return o.IsUndefined(z)||o.IsString(z)&&O(z)&&x(z)}function _e(z){return o.IsUndefined(z)||o.IsString(z)&&O(z)}function ke(z){return o.IsUndefined(z)||he(z)}function ue(z){return Ve(z,"Any")&&Z(z.$id)}T.TAny=ue;function Ne(z){return Ve(z,"Array")&&z.type==="array"&&Z(z.$id)&&he(z.items)&&_(z.minItems)&&_(z.maxItems)&&B(z.uniqueItems)&&ke(z.contains)&&_(z.minContains)&&_(z.maxContains)}T.TArray=Ne;function oe(z){return Ve(z,"AsyncIterator")&&z.type==="AsyncIterator"&&Z(z.$id)&&he(z.items)}T.TAsyncIterator=oe;function ye(z){return Ve(z,"BigInt")&&z.type==="bigint"&&Z(z.$id)&&C(z.exclusiveMaximum)&&C(z.exclusiveMinimum)&&C(z.maximum)&&C(z.minimum)&&C(z.multipleOf)}T.TBigInt=ye;function fe(z){return Ve(z,"Boolean")&&z.type==="boolean"&&Z(z.$id)}T.TBoolean=fe;function Fe(z){return Ve(z,"Constructor")&&z.type==="Constructor"&&Z(z.$id)&&o.IsArray(z.parameters)&&z.parameters.every(q=>he(q))&&he(z.returns)}T.TConstructor=Fe;function Y(z){return Ve(z,"Date")&&z.type==="Date"&&Z(z.$id)&&_(z.exclusiveMaximumTimestamp)&&_(z.exclusiveMinimumTimestamp)&&_(z.maximumTimestamp)&&_(z.minimumTimestamp)&&_(z.multipleOfTimestamp)}T.TDate=Y;function Q(z){return Ve(z,"Function")&&z.type==="Function"&&Z(z.$id)&&o.IsArray(z.parameters)&&z.parameters.every(q=>he(q))&&he(z.returns)}T.TFunction=Q;function ve(z){return Ve(z,"Integer")&&z.type==="integer"&&Z(z.$id)&&_(z.exclusiveMaximum)&&_(z.exclusiveMinimum)&&_(z.maximum)&&_(z.minimum)&&_(z.multipleOf)}T.TInteger=ve;function Ae(z){return Ve(z,"Intersect")&&!(o.IsString(z.type)&&z.type!=="object")&&o.IsArray(z.allOf)&&z.allOf.every(q=>he(q)&&!bn(q))&&Z(z.type)&&(B(z.unevaluatedProperties)||ke(z.unevaluatedProperties))&&Z(z.$id)}T.TIntersect=Ae;function Me(z){return Ve(z,"Iterator")&&z.type==="Iterator"&&Z(z.$id)&&he(z.items)}T.TIterator=Me;function Ve(z,q){return xe(z)&&z[e.Kind]===q}T.TKindOf=Ve;function xe(z){return o.IsObject(z)&&e.Kind in z&&o.IsString(z[e.Kind])}T.TKind=xe;function Ie(z){return We(z)&&o.IsString(z.const)}T.TLiteralString=Ie;function qe(z){return We(z)&&o.IsNumber(z.const)}T.TLiteralNumber=qe;function tt(z){return We(z)&&o.IsBoolean(z.const)}T.TLiteralBoolean=tt;function We(z){return Ve(z,"Literal")&&Z(z.$id)&&(o.IsBoolean(z.const)||o.IsNumber(z.const)||o.IsString(z.const))}T.TLiteral=We;function ut(z){return Ve(z,"Never")&&o.IsObject(z.not)&&Object.getOwnPropertyNames(z.not).length===0}T.TNever=ut;function gt(z){return Ve(z,"Not")&&he(z.not)}T.TNot=gt;function Dt(z){return Ve(z,"Null")&&z.type==="null"&&Z(z.$id)}T.TNull=Dt;function jt(z){return Ve(z,"Number")&&z.type==="number"&&Z(z.$id)&&_(z.exclusiveMaximum)&&_(z.exclusiveMinimum)&&_(z.maximum)&&_(z.minimum)&&_(z.multipleOf)}T.TNumber=jt;function En(z){return Ve(z,"Object")&&z.type==="object"&&Z(z.$id)&&o.IsObject(z.properties)&&S(z.additionalProperties)&&_(z.minProperties)&&_(z.maxProperties)&&Object.entries(z.properties).every(([q,X])=>O(q)&&he(X))}T.TObject=En;function Lt(z){return Ve(z,"Promise")&&z.type==="Promise"&&Z(z.$id)&&he(z.item)}T.TPromise=Lt;function jn(z){return Ve(z,"Record")&&z.type==="object"&&Z(z.$id)&&S(z.additionalProperties)&&o.IsObject(z.patternProperties)&&(q=>{const X=Object.getOwnPropertyNames(q.patternProperties);return X.length===1&&x(X[0])&&o.IsObject(q.patternProperties)&&he(q.patternProperties[X[0]])})(z)}T.TRecord=jn;function un(z){return o.IsObject(z)&&e.Hint in z&&z[e.Hint]==="Recursive"}T.TRecursive=un;function Kn(z){return Ve(z,"Ref")&&Z(z.$id)&&o.IsString(z.$ref)}T.TRef=Kn;function yn(z){return Ve(z,"String")&&z.type==="string"&&Z(z.$id)&&_(z.minLength)&&_(z.maxLength)&&pe(z.pattern)&&_e(z.format)}T.TString=yn;function Hn(z){return Ve(z,"Symbol")&&z.type==="symbol"&&Z(z.$id)}T.TSymbol=Hn;function Ln(z){return Ve(z,"TemplateLiteral")&&z.type==="string"&&o.IsString(z.pattern)&&z.pattern[0]==="^"&&z.pattern[z.pattern.length-1]==="$"}T.TTemplateLiteral=Ln;function Sn(z){return Ve(z,"This")&&Z(z.$id)&&o.IsString(z.$ref)}T.TThis=Sn;function bn(z){return o.IsObject(z)&&e.Transform in z}T.TTransform=bn;function ln(z){return Ve(z,"Tuple")&&z.type==="array"&&Z(z.$id)&&o.IsNumber(z.minItems)&&o.IsNumber(z.maxItems)&&z.minItems===z.maxItems&&(o.IsUndefined(z.items)&&o.IsUndefined(z.additionalItems)&&z.minItems===0||o.IsArray(z.items)&&z.items.every(q=>he(q)))}T.TTuple=ln;function Zn(z){return Ve(z,"Undefined")&&z.type==="undefined"&&Z(z.$id)}T.TUndefined=Zn;function Gn(z){return Pe(z)&&z.anyOf.every(q=>Ie(q)||qe(q))}T.TUnionLiteral=Gn;function Pe(z){return Ve(z,"Union")&&Z(z.$id)&&o.IsObject(z)&&o.IsArray(z.anyOf)&&z.anyOf.every(q=>he(q))}T.TUnion=Pe;function dt(z){return Ve(z,"Uint8Array")&&z.type==="Uint8Array"&&Z(z.$id)&&_(z.minByteLength)&&_(z.maxByteLength)}T.TUint8Array=dt;function $t(z){return Ve(z,"Unknown")&&Z(z.$id)}T.TUnknown=$t;function nn(z){return Ve(z,"Unsafe")}T.TUnsafe=nn;function Oe(z){return Ve(z,"Void")&&z.type==="void"&&Z(z.$id)}T.TVoid=Oe;function lt(z){return o.IsObject(z)&&z[e.Readonly]==="Readonly"}T.TReadonly=lt;function re(z){return o.IsObject(z)&&z[e.Optional]==="Optional"}T.TOptional=re;function he(z){return o.IsObject(z)&&(ue(z)||Ne(z)||fe(z)||ye(z)||oe(z)||Fe(z)||Y(z)||Q(z)||ve(z)||Ae(z)||Me(z)||We(z)||ut(z)||gt(z)||Dt(z)||jt(z)||En(z)||Lt(z)||jn(z)||Kn(z)||yn(z)||Hn(z)||Ln(z)||Sn(z)||ln(z)||Zn(z)||Pe(z)||dt(z)||$t(z)||nn(z)||Oe(z)||xe(z)&&t.Has(z[e.Kind]))}T.TSchema=he})(a||(e.TypeGuard=a={}));var s;(function(T){function x(O){return O[e.Kind]==="Intersect"?O.allOf.every(S=>x(S)):O[e.Kind]==="Union"?O.anyOf.some(S=>x(S)):O[e.Kind]==="Undefined"?!0:O[e.Kind]==="Not"?!x(O.not):!1}T.Check=x})(s||(e.ExtendsUndefined=s={}));class l extends n{}e.TypeExtendsError=l;var c;(function(T){T[T.Union=0]="Union",T[T.True=1]="True",T[T.False=2]="False"})(c||(e.TypeExtendsResult=c={}));var f;(function(T){function x(P){return P===c.False?P:c.True}function O(P){throw new l(P)}function S(P){return a.TNever(P)||a.TIntersect(P)||a.TUnion(P)||a.TUnknown(P)||a.TAny(P)}function C(P,J){return a.TNever(J)?Ve():a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TUnknown(J)?ht():a.TAny(J)?_():O("StructuralRight")}function _(P,J){return c.True}function B(P,J){return a.TIntersect(J)?Q(P,J):a.TUnion(J)&&J.anyOf.some(ze=>a.TAny(ze)||a.TUnknown(ze))?c.True:a.TUnion(J)?c.Union:a.TUnknown(J)||a.TAny(J)?c.True:c.Union}function Z(P,J){return a.TUnknown(P)?c.False:a.TAny(P)?c.Union:a.TNever(P)?c.True:c.False}function pe(P,J){return a.TObject(J)&&Ln(J)?c.True:S(J)?C(P,J):a.TArray(J)?x(ct(P.items,J.items)):c.False}function _e(P,J){return S(J)?C(P,J):a.TAsyncIterator(J)?x(ct(P.items,J.items)):c.False}function ke(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TBigInt(J)?c.True:c.False}function ue(P,J){return a.TLiteral(P)&&o.IsBoolean(P.const)||a.TBoolean(P)?c.True:c.False}function Ne(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TBoolean(J)?c.True:c.False}function oe(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TConstructor(J)?P.parameters.length>J.parameters.length?c.False:P.parameters.every((ze,nt)=>x(ct(J.parameters[nt],ze))===c.True)?x(ct(P.returns,J.returns)):c.False:c.False}function ye(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TDate(J)?c.True:c.False}function fe(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TFunction(J)?P.parameters.length>J.parameters.length?c.False:P.parameters.every((ze,nt)=>x(ct(J.parameters[nt],ze))===c.True)?x(ct(P.returns,J.returns)):c.False:c.False}function Fe(P,J){return a.TLiteral(P)&&o.IsNumber(P.const)||a.TNumber(P)||a.TInteger(P)?c.True:c.False}function Y(P,J){return a.TInteger(J)||a.TNumber(J)?c.True:S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):c.False}function Q(P,J){return J.allOf.every(ze=>ct(P,ze)===c.True)?c.True:c.False}function ve(P,J){return P.allOf.some(ze=>ct(ze,J)===c.True)?c.True:c.False}function Ae(P,J){return S(J)?C(P,J):a.TIterator(J)?x(ct(P.items,J.items)):c.False}function Me(P,J){return a.TLiteral(J)&&J.const===P.const?c.True:S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TString(J)?Oe(P):a.TNumber(J)?We(P):a.TInteger(J)?Fe(P):a.TBoolean(J)?ue(P):c.False}function Ve(P,J){return c.False}function xe(P,J){return c.True}function Ie(P){let[J,ze]=[P,0];for(;a.TNot(J);)J=J.not,ze+=1;return ze%2===0?J:e.Type.Unknown()}function qe(P,J){return a.TNot(P)?ct(Ie(P),J):a.TNot(J)?ct(P,Ie(J)):O("Invalid fallthrough for Not")}function tt(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TNull(J)?c.True:c.False}function We(P,J){return a.TLiteralNumber(P)||a.TNumber(P)||a.TInteger(P)?c.True:c.False}function ut(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TInteger(J)||a.TNumber(J)?c.True:c.False}function gt(P,J){return Object.getOwnPropertyNames(P.properties).length===J}function Dt(P){return Ln(P)}function jt(P){return gt(P,0)||gt(P,1)&&"description"in P.properties&&a.TUnion(P.properties.description)&&P.properties.description.anyOf.length===2&&(a.TString(P.properties.description.anyOf[0])&&a.TUndefined(P.properties.description.anyOf[1])||a.TString(P.properties.description.anyOf[1])&&a.TUndefined(P.properties.description.anyOf[0]))}function En(P){return gt(P,0)}function Lt(P){return gt(P,0)}function jn(P){return gt(P,0)}function un(P){return gt(P,0)}function Kn(P){return Ln(P)}function yn(P){const J=e.Type.Number();return gt(P,0)||gt(P,1)&&"length"in P.properties&&x(ct(P.properties.length,J))===c.True}function Hn(P){return gt(P,0)}function Ln(P){const J=e.Type.Number();return gt(P,0)||gt(P,1)&&"length"in P.properties&&x(ct(P.properties.length,J))===c.True}function Sn(P){const J=e.Type.Function([e.Type.Any()],e.Type.Any());return gt(P,0)||gt(P,1)&&"then"in P.properties&&x(ct(P.properties.then,J))===c.True}function bn(P,J){return ct(P,J)===c.False||a.TOptional(P)&&!a.TOptional(J)?c.False:c.True}function ln(P,J){return a.TUnknown(P)?c.False:a.TAny(P)?c.Union:a.TNever(P)||a.TLiteralString(P)&&Dt(J)||a.TLiteralNumber(P)&&En(J)||a.TLiteralBoolean(P)&&Lt(J)||a.TSymbol(P)&&jt(J)||a.TBigInt(P)&&jn(J)||a.TString(P)&&Dt(J)||a.TSymbol(P)&&jt(J)||a.TNumber(P)&&En(J)||a.TInteger(P)&&En(J)||a.TBoolean(P)&&Lt(J)||a.TUint8Array(P)&&Kn(J)||a.TDate(P)&&un(J)||a.TConstructor(P)&&Hn(J)||a.TFunction(P)&&yn(J)?c.True:a.TRecord(P)&&a.TString(Pe(P))?(()=>J[e.Hint]==="Record"?c.True:c.False)():a.TRecord(P)&&a.TNumber(Pe(P))?(()=>gt(J,0)?c.True:c.False)():c.False}function Zn(P,J){return S(J)?C(P,J):a.TRecord(J)?$t(P,J):a.TObject(J)?(()=>{for(const ze of Object.getOwnPropertyNames(J.properties))if(!(ze in P.properties)||bn(P.properties[ze],J.properties[ze])===c.False)return c.False;return c.True})():c.False}function Gn(P,J){return S(J)?C(P,J):a.TObject(J)&&Sn(J)?c.True:a.TPromise(J)?x(ct(P.item,J.item)):c.False}function Pe(P){return e.PatternNumberExact in P.patternProperties?e.Type.Number():e.PatternStringExact in P.patternProperties?e.Type.String():O("Unknown record key pattern")}function dt(P){return e.PatternNumberExact in P.patternProperties?P.patternProperties[e.PatternNumberExact]:e.PatternStringExact in P.patternProperties?P.patternProperties[e.PatternStringExact]:O("Unable to get record value schema")}function $t(P,J){const[ze,nt]=[Pe(J),dt(J)];return a.TLiteralString(P)&&a.TNumber(ze)&&x(ct(P,nt))===c.True?c.True:a.TUint8Array(P)&&a.TNumber(ze)||a.TString(P)&&a.TNumber(ze)||a.TArray(P)&&a.TNumber(ze)?ct(P,nt):a.TObject(P)?(()=>{for(const at of Object.getOwnPropertyNames(P.properties))if(bn(nt,P.properties[at])===c.False)return c.False;return c.True})():c.False}function nn(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?ct(dt(P),dt(J)):c.False}function Oe(P,J){return a.TLiteral(P)&&o.IsString(P.const)||a.TString(P)?c.True:c.False}function lt(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TString(J)?c.True:c.False}function re(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TSymbol(J)?c.True:c.False}function he(P,J){return a.TTemplateLiteral(P)?ct($.Resolve(P),J):a.TTemplateLiteral(J)?ct(P,$.Resolve(J)):O("Invalid fallthrough for TemplateLiteral")}function z(P,J){return a.TArray(J)&&P.items!==void 0&&P.items.every(ze=>ct(ze,J.items)===c.True)}function q(P,J){return a.TNever(P)?c.True:a.TUnknown(P)?c.False:a.TAny(P)?c.Union:c.False}function X(P,J){return S(J)?C(P,J):a.TObject(J)&&Ln(J)||a.TArray(J)&&z(P,J)?c.True:a.TTuple(J)?o.IsUndefined(P.items)&&!o.IsUndefined(J.items)||!o.IsUndefined(P.items)&&o.IsUndefined(J.items)?c.False:o.IsUndefined(P.items)&&!o.IsUndefined(J.items)||P.items.every((ze,nt)=>ct(ze,J.items[nt])===c.True)?c.True:c.False:c.False}function de(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TUint8Array(J)?c.True:c.False}function je(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TVoid(J)?bt(P):a.TUndefined(J)?c.True:c.False}function Te(P,J){return J.anyOf.some(ze=>ct(P,ze)===c.True)?c.True:c.False}function it(P,J){return P.anyOf.every(ze=>ct(ze,J)===c.True)?c.True:c.False}function ht(P,J){return c.True}function Tt(P,J){return a.TNever(J)?Ve():a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TAny(J)?_():a.TString(J)?Oe(P):a.TNumber(J)?We(P):a.TInteger(J)?Fe(P):a.TBoolean(J)?ue(P):a.TArray(J)?Z(P):a.TTuple(J)?q(P):a.TObject(J)?ln(P,J):a.TUnknown(J)?c.True:c.False}function bt(P,J){return a.TUndefined(P)||a.TUndefined(P)?c.True:c.False}function Ht(P,J){return a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TUnknown(J)?ht():a.TAny(J)?_():a.TObject(J)?ln(P,J):a.TVoid(J)?c.True:c.False}function ct(P,J){return a.TTemplateLiteral(P)||a.TTemplateLiteral(J)?he(P,J):a.TNot(P)||a.TNot(J)?qe(P,J):a.TAny(P)?B(P,J):a.TArray(P)?pe(P,J):a.TBigInt(P)?ke(P,J):a.TBoolean(P)?Ne(P,J):a.TAsyncIterator(P)?_e(P,J):a.TConstructor(P)?oe(P,J):a.TDate(P)?ye(P,J):a.TFunction(P)?fe(P,J):a.TInteger(P)?Y(P,J):a.TIntersect(P)?ve(P,J):a.TIterator(P)?Ae(P,J):a.TLiteral(P)?Me(P,J):a.TNever(P)?xe():a.TNull(P)?tt(P,J):a.TNumber(P)?ut(P,J):a.TObject(P)?Zn(P,J):a.TRecord(P)?nn(P,J):a.TString(P)?lt(P,J):a.TSymbol(P)?re(P,J):a.TTuple(P)?X(P,J):a.TPromise(P)?Gn(P,J):a.TUint8Array(P)?de(P,J):a.TUndefined(P)?je(P,J):a.TUnion(P)?it(P,J):a.TUnknown(P)?Tt(P,J):a.TVoid(P)?Ht(P,J):O(`Unknown left type operand '${P[e.Kind]}'`)}function rn(P,J){return ct(P,J)}T.Extends=rn})(f||(e.TypeExtends=f={}));var u;(function(T){function x(B){const Z=Object.getOwnPropertyNames(B).reduce((_e,ke)=>({..._e,[ke]:S(B[ke])}),{}),pe=Object.getOwnPropertySymbols(B).reduce((_e,ke)=>({..._e,[ke]:S(B[ke])}),{});return{...Z,...pe}}function O(B){return B.map(Z=>S(Z))}function S(B){return o.IsArray(B)?O(B):o.IsObject(B)?x(B):B}function C(B){return B.map(Z=>_(Z))}T.Rest=C;function _(B,Z={}){return{...S(B),...Z}}T.Type=_})(u||(e.TypeClone=u={}));var d;(function(T){function x(oe){return oe.map(ye=>{const{[e.Optional]:fe,...Fe}=u.Type(ye);return Fe})}function O(oe){return oe.every(ye=>a.TOptional(ye))}function S(oe){return oe.some(ye=>a.TOptional(ye))}function C(oe){return O(oe.allOf)?e.Type.Optional(e.Type.Intersect(x(oe.allOf))):oe}function _(oe){return S(oe.anyOf)?e.Type.Optional(e.Type.Union(x(oe.anyOf))):oe}function B(oe){return oe[e.Kind]==="Intersect"?C(oe):oe[e.Kind]==="Union"?_(oe):oe}function Z(oe,ye){const fe=oe.allOf.reduce((Fe,Y)=>{const Q=ue(Y,ye);return Q[e.Kind]==="Never"?Fe:[...Fe,Q]},[]);return B(e.Type.Intersect(fe))}function pe(oe,ye){const fe=oe.anyOf.map(Fe=>ue(Fe,ye));return B(e.Type.Union(fe))}function _e(oe,ye){const fe=oe.properties[ye];return o.IsUndefined(fe)?e.Type.Never():e.Type.Union([fe])}function ke(oe,ye){const fe=oe.items;if(o.IsUndefined(fe))return e.Type.Never();const Fe=fe[ye];return o.IsUndefined(Fe)?e.Type.Never():Fe}function ue(oe,ye){return oe[e.Kind]==="Intersect"?Z(oe,ye):oe[e.Kind]==="Union"?pe(oe,ye):oe[e.Kind]==="Object"?_e(oe,ye):oe[e.Kind]==="Tuple"?ke(oe,ye):e.Type.Never()}function Ne(oe,ye,fe={}){const Fe=ye.map(Y=>ue(oe,Y.toString()));return B(e.Type.Union(Fe,fe))}T.Resolve=Ne})(d||(e.IndexedAccessor=d={}));var h;(function(T){function x(ke){const[ue,Ne]=[ke.slice(0,1),ke.slice(1)];return`${ue.toLowerCase()}${Ne}`}function O(ke){const[ue,Ne]=[ke.slice(0,1),ke.slice(1)];return`${ue.toUpperCase()}${Ne}`}function S(ke){return ke.toUpperCase()}function C(ke){return ke.toLowerCase()}function _(ke,ue){const Ne=E.ParseExact(ke.pattern);if(!D.Check(Ne))return{...ke,pattern:B(ke.pattern,ue)};const fe=[...M.Generate(Ne)].map(Q=>e.Type.Literal(Q)),Fe=Z(fe,ue),Y=e.Type.Union(Fe);return e.Type.TemplateLiteral([Y])}function B(ke,ue){return typeof ke=="string"?ue==="Uncapitalize"?x(ke):ue==="Capitalize"?O(ke):ue==="Uppercase"?S(ke):ue==="Lowercase"?C(ke):ke:ke.toString()}function Z(ke,ue){if(ke.length===0)return[];const[Ne,...oe]=ke;return[_e(Ne,ue),...Z(oe,ue)]}function pe(ke,ue){return a.TTemplateLiteral(ke)?_(ke,ue):a.TUnion(ke)?e.Type.Union(Z(ke.anyOf,ue)):a.TLiteral(ke)?e.Type.Literal(B(ke.const,ue)):ke}function _e(ke,ue){return pe(ke,ue)}T.Map=_e})(h||(e.Intrinsic=h={}));var p;(function(T){function x(B,Z){return e.Type.Intersect(B.allOf.map(pe=>C(pe,Z)),{...B})}function O(B,Z){return e.Type.Union(B.anyOf.map(pe=>C(pe,Z)),{...B})}function S(B,Z){return Z(B)}function C(B,Z){return B[e.Kind]==="Intersect"?x(B,Z):B[e.Kind]==="Union"?O(B,Z):B[e.Kind]==="Object"?S(B,Z):B}function _(B,Z,pe){return{...C(u.Type(B),Z),...pe}}T.Map=_})(p||(e.ObjectMap=p={}));var m;(function(T){function x(_e){return _e[0]==="^"&&_e[_e.length-1]==="$"?_e.slice(1,_e.length-1):_e}function O(_e,ke){return _e.allOf.reduce((ue,Ne)=>[...ue,...B(Ne,ke)],[])}function S(_e,ke){const ue=_e.anyOf.map(Ne=>B(Ne,ke));return[...ue.reduce((Ne,oe)=>oe.map(ye=>ue.every(fe=>fe.includes(ye))?Ne.add(ye):Ne)[0],new Set)]}function C(_e,ke){return Object.getOwnPropertyNames(_e.properties)}function _(_e,ke){return ke.includePatterns?Object.getOwnPropertyNames(_e.patternProperties):[]}function B(_e,ke){return a.TIntersect(_e)?O(_e,ke):a.TUnion(_e)?S(_e,ke):a.TObject(_e)?C(_e):a.TRecord(_e)?_(_e,ke):[]}function Z(_e,ke){return[...new Set(B(_e,ke))]}T.ResolveKeys=Z;function pe(_e){return`^(${Z(_e,{includePatterns:!0}).map(Ne=>`(${x(Ne)})`).join("|")})$`}T.ResolvePattern=pe})(m||(e.KeyResolver=m={}));class v extends n{}e.KeyArrayResolverError=v;var g;(function(T){function x(O){return Array.isArray(O)?O:a.TUnionLiteral(O)?O.anyOf.map(S=>S.const.toString()):a.TLiteral(O)?[O.const]:a.TTemplateLiteral(O)?(()=>{const S=E.ParseExact(O.pattern);if(!D.Check(S))throw new v("Cannot resolve keys from infinite template expression");return[...M.Generate(S)]})():[]}T.Resolve=x})(g||(e.KeyArrayResolver=g={}));var y;(function(T){function*x(S){for(const C of S.anyOf)C[e.Kind]==="Union"?yield*x(C):yield C}function O(S){return e.Type.Union([...x(S)],{...S})}T.Resolve=O})(y||(e.UnionResolver=y={}));class w extends n{}e.TemplateLiteralPatternError=w;var k;(function(T){function x(_){throw new w(_)}function O(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function S(_,B){return a.TTemplateLiteral(_)?_.pattern.slice(1,_.pattern.length-1):a.TUnion(_)?`(${_.anyOf.map(Z=>S(Z,B)).join("|")})`:a.TNumber(_)?`${B}${e.PatternNumber}`:a.TInteger(_)?`${B}${e.PatternNumber}`:a.TBigInt(_)?`${B}${e.PatternNumber}`:a.TString(_)?`${B}${e.PatternString}`:a.TLiteral(_)?`${B}${O(_.const.toString())}`:a.TBoolean(_)?`${B}${e.PatternBoolean}`:x(`Unexpected Kind '${_[e.Kind]}'`)}function C(_){return`^${_.map(B=>S(B,"")).join("")}$`}T.Create=C})(k||(e.TemplateLiteralPattern=k={}));var $;(function(T){function x(O){const S=E.ParseExact(O.pattern);if(!D.Check(S))return e.Type.String();const C=[...M.Generate(S)].map(_=>e.Type.Literal(_));return e.Type.Union(C)}T.Resolve=x})($||(e.TemplateLiteralResolver=$={}));class j extends n{}e.TemplateLiteralParserError=j;var E;(function(T){function x(oe,ye,fe){return oe[ye]===fe&&oe.charCodeAt(ye-1)!==92}function O(oe,ye){return x(oe,ye,"(")}function S(oe,ye){return x(oe,ye,")")}function C(oe,ye){return x(oe,ye,"|")}function _(oe){if(!(O(oe,0)&&S(oe,oe.length-1)))return!1;let ye=0;for(let fe=0;fe<oe.length;fe++)if(O(oe,fe)&&(ye+=1),S(oe,fe)&&(ye-=1),ye===0&&fe!==oe.length-1)return!1;return!0}function B(oe){return oe.slice(1,oe.length-1)}function Z(oe){let ye=0;for(let fe=0;fe<oe.length;fe++)if(O(oe,fe)&&(ye+=1),S(oe,fe)&&(ye-=1),C(oe,fe)&&ye===0)return!0;return!1}function pe(oe){for(let ye=0;ye<oe.length;ye++)if(O(oe,ye))return!0;return!1}function _e(oe){let[ye,fe]=[0,0];const Fe=[];for(let Q=0;Q<oe.length;Q++)if(O(oe,Q)&&(ye+=1),S(oe,Q)&&(ye-=1),C(oe,Q)&&ye===0){const ve=oe.slice(fe,Q);ve.length>0&&Fe.push(ue(ve)),fe=Q+1}const Y=oe.slice(fe);return Y.length>0&&Fe.push(ue(Y)),Fe.length===0?{type:"const",const:""}:Fe.length===1?Fe[0]:{type:"or",expr:Fe}}function ke(oe){function ye(Y,Q){if(!O(Y,Q))throw new j("TemplateLiteralParser: Index must point to open parens");let ve=0;for(let Ae=Q;Ae<Y.length;Ae++)if(O(Y,Ae)&&(ve+=1),S(Y,Ae)&&(ve-=1),ve===0)return[Q,Ae];throw new j("TemplateLiteralParser: Unclosed group parens in expression")}function fe(Y,Q){for(let ve=Q;ve<Y.length;ve++)if(O(Y,ve))return[Q,ve];return[Q,Y.length]}const Fe=[];for(let Y=0;Y<oe.length;Y++)if(O(oe,Y)){const[Q,ve]=ye(oe,Y),Ae=oe.slice(Q,ve+1);Fe.push(ue(Ae)),Y=ve}else{const[Q,ve]=fe(oe,Y),Ae=oe.slice(Q,ve);Ae.length>0&&Fe.push(ue(Ae)),Y=ve-1}return Fe.length===0?{type:"const",const:""}:Fe.length===1?Fe[0]:{type:"and",expr:Fe}}function ue(oe){return _(oe)?ue(B(oe)):Z(oe)?_e(oe):pe(oe)?ke(oe):{type:"const",const:oe}}T.Parse=ue;function Ne(oe){return ue(oe.slice(1,oe.length-1))}T.ParseExact=Ne})(E||(e.TemplateLiteralParser=E={}));class N extends n{}e.TemplateLiteralFiniteError=N;var D;(function(T){function x(B){throw new N(B)}function O(B){return B.type==="or"&&B.expr.length===2&&B.expr[0].type==="const"&&B.expr[0].const==="0"&&B.expr[1].type==="const"&&B.expr[1].const==="[1-9][0-9]*"}function S(B){return B.type==="or"&&B.expr.length===2&&B.expr[0].type==="const"&&B.expr[0].const==="true"&&B.expr[1].type==="const"&&B.expr[1].const==="false"}function C(B){return B.type==="const"&&B.const===".*"}function _(B){return S(B)?!0:O(B)||C(B)?!1:B.type==="and"?B.expr.every(Z=>_(Z)):B.type==="or"?B.expr.every(Z=>_(Z)):B.type==="const"?!0:x("Unknown expression type")}T.Check=_})(D||(e.TemplateLiteralFinite=D={}));class L extends n{}e.TemplateLiteralGeneratorError=L;var M;(function(T){function*x(B){if(B.length===1)return yield*B[0];for(const Z of B[0])for(const pe of x(B.slice(1)))yield`${Z}${pe}`}function*O(B){return yield*x(B.expr.map(Z=>[..._(Z)]))}function*S(B){for(const Z of B.expr)yield*_(Z)}function*C(B){return yield B.const}function*_(B){return B.type==="and"?yield*O(B):B.type==="or"?yield*S(B):B.type==="const"?yield*C(B):(()=>{throw new L("Unknown expression")})()}T.Generate=_})(M||(e.TemplateLiteralGenerator=M={}));var F;(function(T){function*x(_){const B=_.trim().replace(/"|'/g,"");return B==="boolean"?yield e.Type.Boolean():B==="number"?yield e.Type.Number():B==="bigint"?yield e.Type.BigInt():B==="string"?yield e.Type.String():yield(()=>{const Z=B.split("|").map(pe=>e.Type.Literal(pe.trim()));return Z.length===0?e.Type.Never():Z.length===1?Z[0]:e.Type.Union(Z)})()}function*O(_){if(_[1]!=="{"){const B=e.Type.Literal("$"),Z=S(_.slice(1));return yield*[B,...Z]}for(let B=2;B<_.length;B++)if(_[B]==="}"){const Z=x(_.slice(2,B)),pe=S(_.slice(B+1));return yield*[...Z,...pe]}yield e.Type.Literal(_)}function*S(_){for(let B=0;B<_.length;B++)if(_[B]==="$"){const Z=e.Type.Literal(_.slice(0,B)),pe=O(_.slice(B));return yield*[Z,...pe]}yield e.Type.Literal(_)}function C(_){return[...S(_)]}T.Parse=C})(F||(e.TemplateLiteralDslParser=F={}));class H{constructor(x){this.schema=x}Decode(x){return new I(this.schema,x)}}e.TransformDecodeBuilder=H;class I{constructor(x,O){this.schema=x,this.decode=O}Encode(x){const O=u.Type(this.schema);return a.TTransform(O)?(()=>{const _={Encode:B=>O[e.Transform].Encode(x(B)),Decode:B=>this.decode(O[e.Transform].Decode(B))};return{...O,[e.Transform]:_}})():(()=>{const S={Decode:this.decode,Encode:x};return{...O,[e.Transform]:S}})()}}e.TransformEncodeBuilder=I;let W=0;class ee extends n{}e.TypeBuilderError=ee;class U{Create(x){return x}Throw(x){throw new ee(x)}Discard(x,O){return O.reduce((S,C)=>{const{[C]:_,...B}=S;return B},x)}Strict(x){return JSON.parse(JSON.stringify(x))}}e.TypeBuilder=U;class K extends U{ReadonlyOptional(x){return this.Readonly(this.Optional(x))}Readonly(x){return{...u.Type(x),[e.Readonly]:"Readonly"}}Optional(x){return{...u.Type(x),[e.Optional]:"Optional"}}Any(x={}){return this.Create({...x,[e.Kind]:"Any"})}Array(x,O={}){return this.Create({...O,[e.Kind]:"Array",type:"array",items:u.Type(x)})}Boolean(x={}){return this.Create({...x,[e.Kind]:"Boolean",type:"boolean"})}Capitalize(x,O={}){return{...h.Map(u.Type(x),"Capitalize"),...O}}Composite(x,O){const S=e.Type.Intersect(x,{}),_=m.ResolveKeys(S,{includePatterns:!1}).reduce((B,Z)=>({...B,[Z]:e.Type.Index(S,[Z])}),{});return e.Type.Object(_,O)}Enum(x,O={}){const S=Object.getOwnPropertyNames(x).filter(B=>isNaN(B)).map(B=>x[B]),_=[...new Set(S)].map(B=>e.Type.Literal(B));return this.Union(_,{...O,[e.Hint]:"Enum"})}Extends(x,O,S,C,_={}){switch(f.Extends(x,O)){case c.Union:return this.Union([u.Type(S,_),u.Type(C,_)]);case c.True:return u.Type(S,_);case c.False:return u.Type(C,_)}}Exclude(x,O,S={}){return a.TTemplateLiteral(x)?this.Exclude($.Resolve(x),O,S):a.TTemplateLiteral(O)?this.Exclude(x,$.Resolve(O),S):a.TUnion(x)?(()=>{const C=x.anyOf.filter(_=>f.Extends(_,O)===c.False);return C.length===1?u.Type(C[0],S):this.Union(C,S)})():f.Extends(x,O)!==c.False?this.Never(S):u.Type(x,S)}Extract(x,O,S={}){return a.TTemplateLiteral(x)?this.Extract($.Resolve(x),O,S):a.TTemplateLiteral(O)?this.Extract(x,$.Resolve(O),S):a.TUnion(x)?(()=>{const C=x.anyOf.filter(_=>f.Extends(_,O)!==c.False);return C.length===1?u.Type(C[0],S):this.Union(C,S)})():f.Extends(x,O)!==c.False?u.Type(x,S):this.Never(S)}Index(x,O,S={}){return a.TArray(x)&&a.TNumber(O)?(()=>u.Type(x.items,S))():a.TTuple(x)&&a.TNumber(O)?(()=>{const _=(o.IsUndefined(x.items)?[]:x.items).map(B=>u.Type(B));return this.Union(_,S)})():(()=>{const C=g.Resolve(O),_=u.Type(x);return d.Resolve(_,C,S)})()}Integer(x={}){return this.Create({...x,[e.Kind]:"Integer",type:"integer"})}Intersect(x,O={}){if(x.length===0)return e.Type.Never();if(x.length===1)return u.Type(x[0],O);x.some(B=>a.TTransform(B))&&this.Throw("Cannot intersect transform types");const S=x.every(B=>a.TObject(B)),C=u.Rest(x),_=a.TSchema(O.unevaluatedProperties)?{unevaluatedProperties:u.Type(O.unevaluatedProperties)}:{};return O.unevaluatedProperties===!1||a.TSchema(O.unevaluatedProperties)||S?this.Create({...O,..._,[e.Kind]:"Intersect",type:"object",allOf:C}):this.Create({...O,..._,[e.Kind]:"Intersect",allOf:C})}KeyOf(x,O={}){return a.TRecord(x)?(()=>{const S=Object.getOwnPropertyNames(x.patternProperties)[0];return S===e.PatternNumberExact?this.Number(O):S===e.PatternStringExact?this.String(O):this.Throw("Unable to resolve key type from Record key pattern")})():a.TTuple(x)?(()=>{const C=(o.IsUndefined(x.items)?[]:x.items).map((_,B)=>e.Type.Literal(B.toString()));return this.Union(C,O)})():a.TArray(x)?(()=>this.Number(O))():(()=>{const S=m.ResolveKeys(x,{includePatterns:!1});if(S.length===0)return this.Never(O);const C=S.map(_=>this.Literal(_));return this.Union(C,O)})()}Literal(x,O={}){return this.Create({...O,[e.Kind]:"Literal",const:x,type:typeof x})}Lowercase(x,O={}){return{...h.Map(u.Type(x),"Lowercase"),...O}}Never(x={}){return this.Create({...x,[e.Kind]:"Never",not:{}})}Not(x,O){return this.Create({...O,[e.Kind]:"Not",not:u.Type(x)})}Null(x={}){return this.Create({...x,[e.Kind]:"Null",type:"null"})}Number(x={}){return this.Create({...x,[e.Kind]:"Number",type:"number"})}Object(x,O={}){const S=Object.getOwnPropertyNames(x),C=S.filter(pe=>a.TOptional(x[pe])),_=S.filter(pe=>!C.includes(pe)),B=a.TSchema(O.additionalProperties)?{additionalProperties:u.Type(O.additionalProperties)}:{},Z=S.reduce((pe,_e)=>({...pe,[_e]:u.Type(x[_e])}),{});return _.length>0?this.Create({...O,...B,[e.Kind]:"Object",type:"object",properties:Z,required:_}):this.Create({...O,...B,[e.Kind]:"Object",type:"object",properties:Z})}Omit(x,O,S={}){const C=g.Resolve(O);return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),_=>{o.IsArray(_.required)&&(_.required=_.required.filter(B=>!C.includes(B)),_.required.length===0&&delete _.required);for(const B of Object.getOwnPropertyNames(_.properties))C.includes(B)&&delete _.properties[B];return this.Create(_)},S)}Partial(x,O={}){return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),S=>{const C=Object.getOwnPropertyNames(S.properties).reduce((_,B)=>({..._,[B]:this.Optional(S.properties[B])}),{});return this.Object(C,this.Discard(S,["required"]))},O)}Pick(x,O,S={}){const C=g.Resolve(O);return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),_=>{o.IsArray(_.required)&&(_.required=_.required.filter(B=>C.includes(B)),_.required.length===0&&delete _.required);for(const B of Object.getOwnPropertyNames(_.properties))C.includes(B)||delete _.properties[B];return this.Create(_)},S)}Record(x,O,S={}){return a.TTemplateLiteral(x)?(()=>{const C=E.ParseExact(x.pattern);return D.Check(C)?this.Object([...M.Generate(C)].reduce((_,B)=>({..._,[B]:u.Type(O)}),{}),S):this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[x.pattern]:u.Type(O)}})})():a.TUnion(x)?(()=>{const C=y.Resolve(x);if(a.TUnionLiteral(C)){const _=C.anyOf.reduce((B,Z)=>({...B,[Z.const]:u.Type(O)}),{});return this.Object(_,{...S,[e.Hint]:"Record"})}else this.Throw("Record key of type union contains non-literal types")})():a.TLiteral(x)?(()=>o.IsString(x.const)||o.IsNumber(x.const)?this.Object({[x.const]:u.Type(O)},S):this.Throw("Record key of type literal is not of type string or number"))():a.TInteger(x)||a.TNumber(x)?(()=>this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[e.PatternNumberExact]:u.Type(O)}}))():a.TString(x)?(()=>{const C=o.IsUndefined(x.pattern)?e.PatternStringExact:x.pattern;return this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[C]:u.Type(O)}})})():this.Never()}Recursive(x,O={}){o.IsUndefined(O.$id)&&(O.$id=`T${W++}`);const S=x({[e.Kind]:"This",$ref:`${O.$id}`});return S.$id=O.$id,this.Create({...O,[e.Hint]:"Recursive",...S})}Ref(x,O={}){return o.IsString(x)?this.Create({...O,[e.Kind]:"Ref",$ref:x}):(o.IsUndefined(x.$id)&&this.Throw("Reference target type must specify an $id"),this.Create({...O,[e.Kind]:"Ref",$ref:x.$id}))}Required(x,O={}){return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),S=>{const C=Object.getOwnPropertyNames(S.properties).reduce((_,B)=>({..._,[B]:this.Discard(S.properties[B],[e.Optional])}),{});return this.Object(C,S)},O)}Rest(x){return a.TTuple(x)&&!o.IsUndefined(x.items)?u.Rest(x.items):a.TIntersect(x)?u.Rest(x.allOf):a.TUnion(x)?u.Rest(x.anyOf):[]}String(x={}){return this.Create({...x,[e.Kind]:"String",type:"string"})}TemplateLiteral(x,O={}){const S=o.IsString(x)?k.Create(F.Parse(x)):k.Create(x);return this.Create({...O,[e.Kind]:"TemplateLiteral",type:"string",pattern:S})}Transform(x){return new H(x)}Tuple(x,O={}){const[S,C,_]=[!1,x.length,x.length],B=u.Rest(x),Z=x.length>0?{...O,[e.Kind]:"Tuple",type:"array",items:B,additionalItems:S,minItems:C,maxItems:_}:{...O,[e.Kind]:"Tuple",type:"array",minItems:C,maxItems:_};return this.Create(Z)}Uncapitalize(x,O={}){return{...h.Map(u.Type(x),"Uncapitalize"),...O}}Union(x,O={}){return a.TTemplateLiteral(x)?$.Resolve(x):(()=>{const S=x;if(S.length===0)return this.Never(O);if(S.length===1)return this.Create(u.Type(S[0],O));const C=u.Rest(S);return this.Create({...O,[e.Kind]:"Union",anyOf:C})})()}Unknown(x={}){return this.Create({...x,[e.Kind]:"Unknown"})}Unsafe(x={}){return this.Create({...x,[e.Kind]:x[e.Kind]||"Unsafe"})}Uppercase(x,O={}){return{...h.Map(u.Type(x),"Uppercase"),...O}}}e.JsonTypeBuilder=K;class A extends K{AsyncIterator(x,O={}){return this.Create({...O,[e.Kind]:"AsyncIterator",type:"AsyncIterator",items:u.Type(x)})}Awaited(x,O={}){const S=C=>C.length>0?(()=>{const[_,...B]=C;return[this.Awaited(_),...S(B)]})():C;return a.TIntersect(x)?e.Type.Intersect(S(x.allOf)):a.TUnion(x)?e.Type.Union(S(x.anyOf)):a.TPromise(x)?this.Awaited(x.item):u.Type(x,O)}BigInt(x={}){return this.Create({...x,[e.Kind]:"BigInt",type:"bigint"})}ConstructorParameters(x,O={}){return this.Tuple([...x.parameters],{...O})}Constructor(x,O,S){const[C,_]=[u.Rest(x),u.Type(O)];return this.Create({...S,[e.Kind]:"Constructor",type:"Constructor",parameters:C,returns:_})}Date(x={}){return this.Create({...x,[e.Kind]:"Date",type:"Date"})}Function(x,O,S){const[C,_]=[u.Rest(x),u.Type(O)];return this.Create({...S,[e.Kind]:"Function",type:"Function",parameters:C,returns:_})}InstanceType(x,O={}){return u.Type(x.returns,O)}Iterator(x,O={}){return this.Create({...O,[e.Kind]:"Iterator",type:"Iterator",items:u.Type(x)})}Parameters(x,O={}){return this.Tuple(x.parameters,{...O})}Promise(x,O={}){return this.Create({...O,[e.Kind]:"Promise",type:"Promise",item:u.Type(x)})}RegExp(x,O={}){const S=o.IsString(x)?x:x.source;return this.Create({...O,[e.Kind]:"String",type:"string",pattern:S})}RegEx(x,O={}){return this.RegExp(x,O)}ReturnType(x,O={}){return u.Type(x.returns,O)}Symbol(x){return this.Create({...x,[e.Kind]:"Symbol",type:"symbol"})}Undefined(x={}){return this.Create({...x,[e.Kind]:"Undefined",type:"undefined"})}Uint8Array(x={}){return this.Create({...x,[e.Kind]:"Uint8Array",type:"Uint8Array"})}Void(x={}){return this.Create({...x,[e.Kind]:"Void",type:"void"})}}e.JavaScriptTypeBuilder=A,e.JsonType=new K,e.Type=new A})(R);const lve=R.Type.Object({src:R.Type.String(),path:R.Type.Optional(R.Type.String()),volume:R.Type.Optional(R.Type.Number()),rate:R.Type.Optional(R.Type.Number()),html5:R.Type.Optional(R.Type.Boolean()),fadeInTime:R.Type.Optional(R.Type.Number()),fadeInDelay:R.Type.Optional(R.Type.Number()),fadeOutTime:R.Type.Optional(R.Type.Number()),loop:R.Type.Optional(R.Type.Boolean())}),cve=R.Type.Record(R.Type.String(),lve),uve=R.Type.Object({volume:R.Type.Optional(R.Type.Number()),defaultMusic:R.Type.Optional(R.Type.String()),musicFadeInTime:R.Type.Optional(R.Type.Number()),musicFadeOutTime:R.Type.Optional(R.Type.Number()),musicFadeInDelay:R.Type.Optional(R.Type.Number())}),fve=R.Type.Record(R.Type.String(),R.Type.String()),z7=R.Type.Object({files:cve,audioTriggers:fve,options:uve}),q7={files:{},audioTriggers:{},options:{volume:1,musicFadeInTime:.5,musicFadeInDelay:.5,musicFadeOutTime:.5}},U7=R.Type.Object({backgrounds:R.Type.Object({width:R.Type.Number(),height:R.Type.Number()}),dialogBottomPadding:R.Type.Union([R.Type.Number(),R.Type.String()]),minTextWidth:R.Type.Optional(R.Type.Number()),verticalLayoutThreshold:R.Type.Number(),defaultFontSize:R.Type.Optional(R.Type.Number()),portraits:R.Type.Object({width:R.Type.Number(),height:R.Type.Number(),offset:R.Type.Optional(R.Type.Object({landscape:R.Type.Optional(R.Type.Object({right:R.Type.Number(),bottom:R.Type.Number()})),portrait:R.Type.Optional(R.Type.Object({right:R.Type.Number(),bottom:R.Type.Number()}))}))})}),dve={backgrounds:{width:880,height:720},dialogBottomPadding:70,verticalLayoutThreshold:600,defaultFontSize:16,portraits:{width:100,height:100}},n0=R.Type.Object({name:R.Type.String(),description:R.Type.Optional(R.Type.String())}),hve=R.Type.Intersect([n0,R.Type.Object({type:R.Type.Literal("number"),defaultValue:R.Type.Number(),step:R.Type.Number(),minValue:R.Type.Number(),maxValue:R.Type.Number()})]),pve=R.Type.Intersect([n0,R.Type.Object({type:R.Type.Literal("integer"),defaultValue:R.Type.Number(),step:R.Type.Number(),minValue:R.Type.Number(),maxValue:R.Type.Number()})]),mve=R.Type.Intersect([n0,R.Type.Object({type:R.Type.Literal("boolean"),defaultValue:R.Type.Boolean()})]),vve=R.Type.Intersect([n0,R.Type.Object({type:R.Type.Literal("string"),defaultValue:R.Type.String()})]),gve=R.Type.Union([hve,pve,mve,vve]);function yve(e){return e.type==="number"}function H7(e){return e.type==="integer"}function bve(e){return e.type==="boolean"}function wve(e){return e.type==="string"}const W7=R.Type.Object({customSettings:R.Type.Optional(R.Type.Record(R.Type.String(),gve))}),r0="###_--_~=:;_JUMP",g_="###_--_~=:;_RETURN",kve="###_--_~=:;_OK",o0="###_--_~=:;_STOP";function xve(e){return e===r0||e===g_||e===kve||e===o0}const _ve="3.7.0",jve=new Date("2023-11-07T23:05:58.007Z"),Sve=400,i0=20,y_="@empty",K7={background:y_},G7=R.Type.Optional(R.Type.Object({animateText:R.Type.Optional(R.Type.Boolean()),textSpeed:R.Type.Optional(R.Type.Number()),timeBetweenLines:R.Type.Optional(R.Type.Number()),overlayMode:R.Type.Optional(R.Type.Boolean()),rightOffset:R.Type.Optional(R.Type.Number()),bottomOffset:R.Type.Optional(R.Type.Number()),width:R.Type.Optional(R.Type.Number()),height:R.Type.Optional(R.Type.Number()),hideDuringTransition:R.Type.Optional(R.Type.Boolean()),showAfterScriptEnd:R.Type.Optional(R.Type.Boolean())})),J7=R.Type.Object({engineSplashScreen:R.Type.Optional(R.Type.Object({skip:R.Type.Optional(R.Type.Boolean()),fadeDuration:R.Type.Optional(R.Type.Number()),timeBeforeFadeout:R.Type.Optional(R.Type.Number()),overrideText:R.Type.Optional(R.Type.String()),overrideLogo:R.Type.Optional(R.Type.String())})),gameSplashScreen:R.Type.Optional(R.Type.Object({startButtonText:R.Type.Optional(R.Type.String())}))}),Q7=R.Type.Object({timeOnScreen:R.Type.Number(),alsoPrintInDialogue:R.Type.Optional(R.Type.Boolean())}),Cve=R.Type.Object({name:R.Type.String(),icon:R.Type.String(),startingValue:R.Type.Number(),maxValue:R.Type.Optional(R.Type.Number()),minValue:R.Type.Optional(R.Type.Number()),decimals:R.Type.Optional(R.Type.Number()),prefix:R.Type.Optional(R.Type.String()),suffix:R.Type.Optional(R.Type.String()),hideName:R.Type.Optional(R.Type.Boolean()),formatting:R.Type.Optional(R.Type.Object({style:R.Type.Union([R.Type.Literal("decimal"),R.Type.Literal("currency"),R.Type.Literal("percent"),R.Type.Literal("unit")]),currency:R.Type.Optional(R.Type.String()),unit:R.Type.Optional(R.Type.String())}))}),Y7=R.Type.Record(R.Type.String(),Cve),X7=R.Type.Record(R.Type.String(),R.Type.Object({onlyInteractOutsideOfScripts:R.Type.Optional(R.Type.Boolean())})),$ve=R.Type.Object({delay:R.Type.Optional(R.Type.Number()),duration:R.Type.Optional(R.Type.Number())}),Z7=R.Type.Record(R.Type.String(),$ve),Tve=R.Type.Object({text:R.Type.String(),cssClass:R.Type.Optional(R.Type.String())}),e9=R.Type.Record(R.Type.String(),Tve),t9=R.Type.Object({showScriptFinishedMessage:R.Type.Optional(R.Type.Boolean())}),n9=R.Type.Object({mode:R.Type.String(),slots:R.Type.Number(),runOnReload:R.Type.Optional(R.Type.String())}),r9=R.Type.Array(R.Type.String()),Ove=[],o9=R.Type.Object({baseAssetsPath:R.Type.Optional(R.Type.String()),baseDataPath:R.Type.Optional(R.Type.String()),gameTitle:R.Type.String(),saveFileName:R.Type.String(),images:R.Type.Optional(R.Type.Record(R.Type.String(),R.Type.String())),layout:U7,settings:R.Type.Optional(W7),gameFlow:R.Type.Optional(R.Type.Object({labelToJumpOnScriptEnd:R.Type.Optional(R.Type.String())})),dialogPanel:R.Type.Optional(G7),splashScreens:R.Type.Optional(J7),notifications:R.Type.Optional(Q7),hudStats:Y7,interactionTags:R.Type.Optional(X7),transitions:R.Type.Optional(Z7),menuButtons:R.Type.Optional(e9),debugging:R.Type.Optional(t9),saves:R.Type.Optional(n9)}),b_={baseAssetsPath:"",baseDataPath:"",gameTitle:"Narrat Game",saveFileName:"narrat save",images:{},layout:dve,settings:{},gameFlow:{},dialogPanel:{overlayMode:!0,rightOffset:100,bottomOffset:50,width:475,height:680,textSpeed:i0,animateText:!0,timeBetweenLines:100,hideDuringTransition:!1,showAfterScriptEnd:!1},splashScreens:{},notifications:{timeOnScreen:2.5,alsoPrintInDialogue:!1},hudStats:{},interactionTags:{default:{onlyInteractOutsideOfScripts:!0}},transitions:{},menuButtons:{},debugging:{showScriptFinishedMessage:!1},saves:{mode:"manual",slots:10}},Eve=R.Type.Object({name:R.Type.String(),description:R.Type.String(),icon:R.Type.String(),onUse:R.Type.Optional(R.Type.Object({action:R.Type.String(),label:R.Type.String()})),tag:R.Type.Optional(R.Type.String()),category:R.Type.Optional(R.Type.String()),showIfEmpty:R.Type.Optional(R.Type.Boolean())}),i9=R.Type.Object({id:R.Type.String(),title:R.Type.String()}),a9=R.Type.Record(R.Type.String(),Eve);R.Type.Object({categories:R.Type.Array(i9),items:a9});const s9=R.Type.Object({categories:R.Type.Optional(R.Type.Array(i9)),items:R.Type.Optional(a9)}),l9={categories:[{id:"default",title:"Items"}],items:{}},Ave=R.Type.Object({description:R.Type.String(),succeededDescription:R.Type.Optional(R.Type.String()),failedDescription:R.Type.Optional(R.Type.String()),hidden:R.Type.Optional(R.Type.Boolean())}),Mve=R.Type.Object({title:R.Type.String(),description:R.Type.String(),succeededDescription:R.Type.Optional(R.Type.String()),failedDescription:R.Type.Optional(R.Type.String()),endings:R.Type.Optional(R.Type.Record(R.Type.String(),R.Type.Object({success:R.Type.Boolean(),description:R.Type.String()}))),objectives:R.Type.Record(R.Type.String(),Ave),category:R.Type.Optional(R.Type.String())}),Pve=R.Type.Object({id:R.Type.String(),title:R.Type.String()}),Nve=R.Type.Record(R.Type.String(),Mve),c9=R.Type.Object({quests:Nve,categories:R.Type.Array(Pve)}),u9={quests:{},categories:[{id:"default",title:"Quests"}]},f9=R.Type.Object({enabled:R.Type.Boolean(),background:R.Type.Optional(R.Type.String()),text:R.Type.Optional(R.Type.String()),cssClass:R.Type.Optional(R.Type.String()),position:R.Type.Object({left:R.Type.Number(),top:R.Type.Number(),width:R.Type.Optional(R.Type.Number()),height:R.Type.Optional(R.Type.Number())}),anchor:R.Type.Optional(R.Type.Object({x:R.Type.Number(),y:R.Type.Number()})),action:R.Type.Optional(R.Type.String()),actionType:R.Type.Optional(R.Type.String()),scriptClickable:R.Type.Optional(R.Type.Boolean()),tag:R.Type.Optional(R.Type.String())}),Ive=R.Type.Record(R.Type.String(),f9),d9=R.Type.Object({buttons:Ive,clickableDuringScriptsByDefault:R.Type.Optional(R.Type.Boolean())}),h9={buttons:{},clickableDuringScriptsByDefault:!1},Dve=R.Type.Intersect([f9,R.Type.Object({id:R.Type.String()})]),Lve=R.Type.Object({muted:R.Type.Optional(R.Type.Boolean()),loop:R.Type.Optional(R.Type.Boolean())}),Rve=R.Type.Object({background:R.Type.String(),video:R.Type.Optional(Lve),buttons:R.Type.Optional(R.Type.Array(R.Type.Union([R.Type.String(),Dve])))}),p9=R.Type.Record(R.Type.String(),Rve);R.Type.Object({screens:p9});const m9=R.Type.Object({screens:R.Type.Optional(p9)}),v9={screens:{}},Bve=R.Type.Object({name:R.Type.String(),description:R.Type.String(),startingLevel:R.Type.Number(),hidden:R.Type.Optional(R.Type.Boolean()),icon:R.Type.String()}),g9=R.Type.Record(R.Type.String(),Bve),y9=R.Type.Object({xpPerLevel:R.Type.Number(),notifyLevelUp:R.Type.Boolean()});R.Type.Object({skills:g9,skillOptions:y9});const b9=R.Type.Object({skills:R.Type.Optional(g9),skillOptions:R.Type.Optional(y9)}),w9={skills:{},skillOptions:{xpPerLevel:10,notifyLevelUp:!0}},Fve=R.Type.Object({portraitCssClass:R.Type.Optional(R.Type.String()),color:R.Type.Optional(R.Type.String()),boxCss:R.Type.Optional(R.Type.Record(R.Type.String(),R.Type.Any())),nameCss:R.Type.Optional(R.Type.Record(R.Type.String(),R.Type.Any())),textCss:R.Type.Optional(R.Type.Record(R.Type.String(),R.Type.Any()))}),Vve=R.Type.Object({video:R.Type.String(),autoplay:R.Type.Optional(R.Type.Boolean()),loop:R.Type.Optional(R.Type.Boolean()),muted:R.Type.Optional(R.Type.Boolean()),width:R.Type.Optional(R.Type.Number()),height:R.Type.Optional(R.Type.Number())}),zve=R.Type.Object({image:R.Type.String(),width:R.Type.Optional(R.Type.Number()),height:R.Type.Optional(R.Type.Number())}),qve=R.Type.Union([R.Type.String(),Vve,zve]),Uve=R.Type.Object({sprites:R.Type.Optional(R.Type.Record(R.Type.String(),qve)),name:R.Type.String(),style:R.Type.Optional(Fve)}),k9=R.Type.Object({config:R.Type.Object({imagesPath:R.Type.String(),playerCharacter:R.Type.Optional(R.Type.String()),gameCharacter:R.Type.Optional(R.Type.String())}),characters:R.Type.Record(R.Type.String(),Uve)}),x9={config:{imagesPath:"",playerCharacter:"player",gameCharacter:"game"},characters:{}},_9=R.Type.Object({cssClass:R.Type.Optional(R.Type.String()),textCssClass:R.Type.Optional(R.Type.String()),titleCssClass:R.Type.Optional(R.Type.String())}),j9=R.Type.Object({options:R.Type.Object({delay:R.Type.Optional(R.Type.Number()),width:R.Type.Number(),keywordsPrefix:R.Type.String(),screenEdgesMinimumMargin:R.Type.Optional(R.Type.Number()),styling:R.Type.Optional(_9)}),tooltips:R.Type.Array(R.Type.Object({keywords:R.Type.Array(R.Type.String()),title:R.Type.String(),description:R.Type.String(),styling:R.Type.Optional(_9)}))}),S9={options:{delay:0,width:350,keywordsPrefix:"@@"},tooltips:[]},Hve=R.Type.Object({name:R.Type.String(),description:R.Type.String(),icon:R.Type.Optional(R.Type.String()),lockedIcon:R.Type.Optional(R.Type.String()),secret:R.Type.Optional(R.Type.Boolean()),category:R.Type.Optional(R.Type.String())}),C9=R.Type.Object({id:R.Type.String(),title:R.Type.String()}),$9=R.Type.Record(R.Type.String(),Hve);R.Type.Object({defaultAchievementIcon:R.Type.String(),categories:R.Type.Array(C9),achievements:$9,notifyNewAchievements:R.Type.Boolean(),secretAchievements:R.Type.Optional(R.Type.Object({censorDescription:R.Type.Optional(R.Type.Boolean()),censorName:R.Type.Optional(R.Type.Boolean()),hideUntilObtained:R.Type.Optional(R.Type.Boolean())}))});const T9=R.Type.Object({categories:R.Type.Optional(R.Type.Array(C9)),achievements:R.Type.Optional($9)}),O9={categories:[{id:"default",title:"Achievements"}],achievements:{},notifyNewAchievements:!0,defaultAchievementIcon:"img/achievements/trophy.png"},Wve=R.Type.Object({diceRange:R.Type.Tuple([R.Type.Number(),R.Type.Number()]),diceCount:R.Type.Number(),difficultyText:R.Type.Array(R.Type.Tuple([R.Type.Number(),R.Type.String()])),extraPointsPerLevel:R.Type.Number(),extraDicePerLevel:R.Type.Optional(R.Type.Number()),successOnRollsBelowThreshold:R.Type.Boolean(),showDifficultyText:R.Type.Boolean(),showDifficultyNumber:R.Type.Boolean(),showDifficultyWithoutModifiers:R.Type.Boolean(),finalRollIsHighest:R.Type.Optional(R.Type.Boolean()),finalRollIsLowest:R.Type.Optional(R.Type.Boolean()),failOnRollsEqualToThreshold:R.Type.Optional(R.Type.Boolean())}),Kve=R.Type.Object({skill:R.Type.String(),difficulty:R.Type.Number(),winsNeeded:R.Type.Optional(R.Type.Number()),hideAfterRoll:R.Type.Optional(R.Type.Boolean()),repeatable:R.Type.Optional(R.Type.Boolean())}),E9=R.Type.Object({options:Wve,skillChecks:R.Type.Record(R.Type.String(),Kve)}),A9={options:{diceRange:[1,6],extraPointsPerLevel:1,extraDicePerLevel:0,diceCount:2,successOnRollsBelowThreshold:!1,showDifficultyText:!0,showDifficultyNumber:!1,showDifficultyWithoutModifiers:!1,finalRollIsHighest:!1,finalRollIsLowest:!1,difficultyText:[[2,"Very Easy"],[4,"Easy"],[6,"Medium"],[8,"Hard"],[10,"Very Hard"],[11,"Extremely Hard"],[12,"Near Impossible"]]},skillChecks:{}},Gve=R.Type.Object({cssClass:R.Type.Optional(R.Type.String()),textTemplate:R.Type.Optional(R.Type.String())}),M9=R.Type.Record(R.Type.String(),Gve);R.Type.Object({choiceTextTemplate:R.Type.String(),choicePrompts:M9});const P9=R.Type.Object({choiceTextTemplate:R.Type.Optional(R.Type.String()),choicePrompts:R.Type.Optional(M9)}),N9={choicePrompts:{},choiceTextTemplate:'<span class="choice-index">%{$index}. </span> <span class="choice-text">%{$choice}</span>'},I9=R.Type.Object({delay:R.Type.Optional(R.Type.Number()),direction:R.Type.Optional(R.Type.String()),duration:R.Type.Optional(R.Type.Number()),easing:R.Type.Optional(R.Type.String()),endDelay:R.Type.Optional(R.Type.Number()),fill:R.Type.Optional(R.Type.String()),iterationStart:R.Type.Optional(R.Type.Number()),iterations:R.Type.Optional(R.Type.Number()),keyframes:R.Type.Optional(R.Type.Any())}),w_=R.Type.Array(R.Type.Any()),Jve=R.Type.Object({keyframes:R.Type.Union([R.Type.String(),w_]),options:R.Type.Optional(I9)});R.Type.Object({keyframes:w_,options:R.Type.Optional(I9)});const D9=R.Type.Object({animations:R.Type.Record(R.Type.String(),Jve),keyframes:R.Type.Record(R.Type.String(),w_)}),L9={animations:{},keyframes:{}},Wf={common:b_,screens:v9,buttons:h9,skills:w9,skillChecks:A9,scripts:[],audio:q7,tooltips:S9,achievements:O9,items:l9,quests:u9,characters:x9,choices:N9,animations:L9};var Qve=function(t){return Yve(t)&&!Xve(t)};function Yve(e){return!!e&&typeof e=="object"}function Xve(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||tge(e)}var Zve=typeof Symbol=="function"&&Symbol.for,ege=Zve?Symbol.for("react.element"):60103;function tge(e){return e.$$typeof===ege}function nge(e){return Array.isArray(e)?[]:{}}function np(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Kf(nge(e),e,t):e}function rge(e,t,n){return e.concat(t).map(function(r){return np(r,n)})}function oge(e,t){if(!t.customMerge)return Kf;var n=t.customMerge(e);return typeof n=="function"?n:Kf}function ige(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function R9(e){return Object.keys(e).concat(ige(e))}function B9(e,t){try{return t in e}catch{return!1}}function age(e,t){return B9(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function sge(e,t,n){var r={};return n.isMergeableObject(e)&&R9(e).forEach(function(o){r[o]=np(e[o],n)}),R9(t).forEach(function(o){age(e,o)||(B9(e,o)&&n.isMergeableObject(t[o])?r[o]=oge(o,n)(e[o],t[o],n):r[o]=np(t[o],n))}),r}function Kf(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||rge,n.isMergeableObject=n.isMergeableObject||Qve,n.cloneUnlessOtherwiseSpecified=np;var r=Array.isArray(t),o=Array.isArray(e),i=r===o;return i?r?n.arrayMerge(e,t,n):sge(e,t,n):np(t,n)}Kf.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,o){return Kf(r,o,n)},{})};var lge=Kf,cge=lge;const uu=Z0(cge),fo=oo("config",{state:()=>({config:Wf,configModules:{}}),actions:{async setConfig(e){this.config=e},extendConfig(e){this.config=uu(this.config,e)},generateSaveData(){return{playerCharacter:this.playerCharacter,gameCharacter:this.gameCharacter}},addConfigModule(e,t){this.configModules[e]=t},findConfigModuleKey(e){const t=Object.keys(this.configModules).find(n=>this.configModules[n].id===e.id);if(t)return t},reloadConfigModule(e,t){this.configModules[e].code=t,this.config[e]=t},loadSaveData(e){this.config.characters.config.playerCharacter=e.playerCharacter,this.config.characters.config.gameCharacter=e.gameCharacter}},getters:{playerCharacter(){return this.config.characters.config.playerCharacter??"player"},gameCharacter(){return this.config.characters.config.gameCharacter??"game"}}});function F9(e){const t=Gr(),n=t.getSkillCheck(e.id);if(n&&n.happened&&(n.succeeded||!e.repeatable))return n;const r=sve(e);return q9(rve(r,e)),r?t.passSkillCheck(e.id,e.hideAfterRoll):t.failSkillCheck(e.id,e.hideAfterRoll),t.getSkillCheck(e.id)}function uge(e,t=[]){const n=e.options,r=e.staticOptions,o=!!n.condition;if(o)return r.success;if(!o){for(const[i,a]of r.elseifs.entries())if(t[i]===!0)return a.branch}if(!o&&r.failure)return r.failure}function V9(e){return typeof e=="object"}function z9(e){return typeof e=="string"&&e.search(/\$/)===0}function q9(e){const t={speaker:fo().gameCharacter,text:e,interactive:!1};lr().addDialog(t)}async function k_(e){lr().addDialog(e)}function fge(e,t){if(t<e.length)return e[t]}/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function U9(e){return typeof e>"u"||e===null}function dge(e){return typeof e=="object"&&e!==null}function hge(e){return Array.isArray(e)?e:U9(e)?[]:[e]}function pge(e,t){var n,r,o,i;if(t)for(i=Object.keys(t),n=0,r=i.length;n<r;n+=1)o=i[n],e[o]=t[o];return e}function mge(e,t){var n="",r;for(r=0;r<t;r+=1)n+=e;return n}function vge(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var gge=U9,yge=dge,bge=hge,wge=mge,kge=vge,xge=pge,ho={isNothing:gge,isObject:yge,toArray:bge,repeat:wge,isNegativeZero:kge,extend:xge};function H9(e,t){var n="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(n+=`
174
+ (${e.id} - ${a}/${e.winsNeeded} - rolls: ${JSON.stringify(r.map(s=>s.modified))})`)}else i=V7(n,e.difficulty),Fi.log(`[SKILL CHECK ${o.name}]: ${i?"✅":"❌"}`,`(${e.id}) - ${n}/${e.difficulty}`);return cu(i?"onSkillCheckSuccess":"onSkillCheckFailure"),i}function V7(e,t){const{options:n}=_p();let r=e>=t;return n.successOnRollsBelowThreshold&&(r=e<=t),n.failOnRollsEqualToThreshold&&e===t&&(r=!1),r}var R={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Type=e.JsonType=e.JavaScriptTypeBuilder=e.JsonTypeBuilder=e.TypeBuilder=e.TypeBuilderError=e.TransformEncodeBuilder=e.TransformDecodeBuilder=e.TemplateLiteralDslParser=e.TemplateLiteralGenerator=e.TemplateLiteralGeneratorError=e.TemplateLiteralFinite=e.TemplateLiteralFiniteError=e.TemplateLiteralParser=e.TemplateLiteralParserError=e.TemplateLiteralResolver=e.TemplateLiteralPattern=e.TemplateLiteralPatternError=e.UnionResolver=e.KeyArrayResolver=e.KeyArrayResolverError=e.KeyResolver=e.ObjectMap=e.Intrinsic=e.IndexedAccessor=e.TypeClone=e.TypeExtends=e.TypeExtendsResult=e.TypeExtendsError=e.ExtendsUndefined=e.TypeGuard=e.TypeGuardUnknownTypeError=e.ValueGuard=e.FormatRegistry=e.TypeBoxError=e.TypeRegistry=e.PatternStringExact=e.PatternNumberExact=e.PatternBooleanExact=e.PatternString=e.PatternNumber=e.PatternBoolean=e.Kind=e.Hint=e.Optional=e.Readonly=e.Transform=void 0,e.Transform=Symbol.for("TypeBox.Transform"),e.Readonly=Symbol.for("TypeBox.Readonly"),e.Optional=Symbol.for("TypeBox.Optional"),e.Hint=Symbol.for("TypeBox.Hint"),e.Kind=Symbol.for("TypeBox.Kind"),e.PatternBoolean="(true|false)",e.PatternNumber="(0|[1-9][0-9]*)",e.PatternString="(.*)",e.PatternBooleanExact=`^${e.PatternBoolean}$`,e.PatternNumberExact=`^${e.PatternNumber}$`,e.PatternStringExact=`^${e.PatternString}$`;var t;(function(T){const x=new Map;function O(){return new Map(x)}T.Entries=O;function S(){return x.clear()}T.Clear=S;function C(pe){return x.delete(pe)}T.Delete=C;function _(pe){return x.has(pe)}T.Has=_;function B(pe,_e){x.set(pe,_e)}T.Set=B;function Z(pe){return x.get(pe)}T.Get=Z})(t||(e.TypeRegistry=t={}));class n extends Error{constructor(x){super(x)}}e.TypeBoxError=n;var r;(function(T){const x=new Map;function O(){return new Map(x)}T.Entries=O;function S(){return x.clear()}T.Clear=S;function C(pe){return x.delete(pe)}T.Delete=C;function _(pe){return x.has(pe)}T.Has=_;function B(pe,_e){x.set(pe,_e)}T.Set=B;function Z(pe){return x.get(pe)}T.Get=Z})(r||(e.FormatRegistry=r={}));var o;(function(T){function x(_e){return Array.isArray(_e)}T.IsArray=x;function O(_e){return typeof _e=="bigint"}T.IsBigInt=O;function S(_e){return typeof _e=="boolean"}T.IsBoolean=S;function C(_e){return _e===null}T.IsNull=C;function _(_e){return typeof _e=="number"}T.IsNumber=_;function B(_e){return typeof _e=="object"&&_e!==null}T.IsObject=B;function Z(_e){return typeof _e=="string"}T.IsString=Z;function pe(_e){return _e===void 0}T.IsUndefined=pe})(o||(e.ValueGuard=o={}));class i extends n{}e.TypeGuardUnknownTypeError=i;var a;(function(T){function x(z){try{return new RegExp(z),!0}catch{return!1}}function O(z){if(!o.IsString(z))return!1;for(let q=0;q<z.length;q++){const X=z.charCodeAt(q);if(X>=7&&X<=13||X===27||X===127)return!1}return!0}function S(z){return B(z)||he(z)}function C(z){return o.IsUndefined(z)||o.IsBigInt(z)}function _(z){return o.IsUndefined(z)||o.IsNumber(z)}function B(z){return o.IsUndefined(z)||o.IsBoolean(z)}function Z(z){return o.IsUndefined(z)||o.IsString(z)}function pe(z){return o.IsUndefined(z)||o.IsString(z)&&O(z)&&x(z)}function _e(z){return o.IsUndefined(z)||o.IsString(z)&&O(z)}function ke(z){return o.IsUndefined(z)||he(z)}function ue(z){return Ve(z,"Any")&&Z(z.$id)}T.TAny=ue;function Ne(z){return Ve(z,"Array")&&z.type==="array"&&Z(z.$id)&&he(z.items)&&_(z.minItems)&&_(z.maxItems)&&B(z.uniqueItems)&&ke(z.contains)&&_(z.minContains)&&_(z.maxContains)}T.TArray=Ne;function oe(z){return Ve(z,"AsyncIterator")&&z.type==="AsyncIterator"&&Z(z.$id)&&he(z.items)}T.TAsyncIterator=oe;function ye(z){return Ve(z,"BigInt")&&z.type==="bigint"&&Z(z.$id)&&C(z.exclusiveMaximum)&&C(z.exclusiveMinimum)&&C(z.maximum)&&C(z.minimum)&&C(z.multipleOf)}T.TBigInt=ye;function fe(z){return Ve(z,"Boolean")&&z.type==="boolean"&&Z(z.$id)}T.TBoolean=fe;function Fe(z){return Ve(z,"Constructor")&&z.type==="Constructor"&&Z(z.$id)&&o.IsArray(z.parameters)&&z.parameters.every(q=>he(q))&&he(z.returns)}T.TConstructor=Fe;function Y(z){return Ve(z,"Date")&&z.type==="Date"&&Z(z.$id)&&_(z.exclusiveMaximumTimestamp)&&_(z.exclusiveMinimumTimestamp)&&_(z.maximumTimestamp)&&_(z.minimumTimestamp)&&_(z.multipleOfTimestamp)}T.TDate=Y;function Q(z){return Ve(z,"Function")&&z.type==="Function"&&Z(z.$id)&&o.IsArray(z.parameters)&&z.parameters.every(q=>he(q))&&he(z.returns)}T.TFunction=Q;function ve(z){return Ve(z,"Integer")&&z.type==="integer"&&Z(z.$id)&&_(z.exclusiveMaximum)&&_(z.exclusiveMinimum)&&_(z.maximum)&&_(z.minimum)&&_(z.multipleOf)}T.TInteger=ve;function Ae(z){return Ve(z,"Intersect")&&!(o.IsString(z.type)&&z.type!=="object")&&o.IsArray(z.allOf)&&z.allOf.every(q=>he(q)&&!bn(q))&&Z(z.type)&&(B(z.unevaluatedProperties)||ke(z.unevaluatedProperties))&&Z(z.$id)}T.TIntersect=Ae;function Me(z){return Ve(z,"Iterator")&&z.type==="Iterator"&&Z(z.$id)&&he(z.items)}T.TIterator=Me;function Ve(z,q){return xe(z)&&z[e.Kind]===q}T.TKindOf=Ve;function xe(z){return o.IsObject(z)&&e.Kind in z&&o.IsString(z[e.Kind])}T.TKind=xe;function Ie(z){return We(z)&&o.IsString(z.const)}T.TLiteralString=Ie;function qe(z){return We(z)&&o.IsNumber(z.const)}T.TLiteralNumber=qe;function tt(z){return We(z)&&o.IsBoolean(z.const)}T.TLiteralBoolean=tt;function We(z){return Ve(z,"Literal")&&Z(z.$id)&&(o.IsBoolean(z.const)||o.IsNumber(z.const)||o.IsString(z.const))}T.TLiteral=We;function ut(z){return Ve(z,"Never")&&o.IsObject(z.not)&&Object.getOwnPropertyNames(z.not).length===0}T.TNever=ut;function gt(z){return Ve(z,"Not")&&he(z.not)}T.TNot=gt;function Dt(z){return Ve(z,"Null")&&z.type==="null"&&Z(z.$id)}T.TNull=Dt;function jt(z){return Ve(z,"Number")&&z.type==="number"&&Z(z.$id)&&_(z.exclusiveMaximum)&&_(z.exclusiveMinimum)&&_(z.maximum)&&_(z.minimum)&&_(z.multipleOf)}T.TNumber=jt;function En(z){return Ve(z,"Object")&&z.type==="object"&&Z(z.$id)&&o.IsObject(z.properties)&&S(z.additionalProperties)&&_(z.minProperties)&&_(z.maxProperties)&&Object.entries(z.properties).every(([q,X])=>O(q)&&he(X))}T.TObject=En;function Lt(z){return Ve(z,"Promise")&&z.type==="Promise"&&Z(z.$id)&&he(z.item)}T.TPromise=Lt;function jn(z){return Ve(z,"Record")&&z.type==="object"&&Z(z.$id)&&S(z.additionalProperties)&&o.IsObject(z.patternProperties)&&(q=>{const X=Object.getOwnPropertyNames(q.patternProperties);return X.length===1&&x(X[0])&&o.IsObject(q.patternProperties)&&he(q.patternProperties[X[0]])})(z)}T.TRecord=jn;function un(z){return o.IsObject(z)&&e.Hint in z&&z[e.Hint]==="Recursive"}T.TRecursive=un;function Kn(z){return Ve(z,"Ref")&&Z(z.$id)&&o.IsString(z.$ref)}T.TRef=Kn;function yn(z){return Ve(z,"String")&&z.type==="string"&&Z(z.$id)&&_(z.minLength)&&_(z.maxLength)&&pe(z.pattern)&&_e(z.format)}T.TString=yn;function Hn(z){return Ve(z,"Symbol")&&z.type==="symbol"&&Z(z.$id)}T.TSymbol=Hn;function Ln(z){return Ve(z,"TemplateLiteral")&&z.type==="string"&&o.IsString(z.pattern)&&z.pattern[0]==="^"&&z.pattern[z.pattern.length-1]==="$"}T.TTemplateLiteral=Ln;function Sn(z){return Ve(z,"This")&&Z(z.$id)&&o.IsString(z.$ref)}T.TThis=Sn;function bn(z){return o.IsObject(z)&&e.Transform in z}T.TTransform=bn;function ln(z){return Ve(z,"Tuple")&&z.type==="array"&&Z(z.$id)&&o.IsNumber(z.minItems)&&o.IsNumber(z.maxItems)&&z.minItems===z.maxItems&&(o.IsUndefined(z.items)&&o.IsUndefined(z.additionalItems)&&z.minItems===0||o.IsArray(z.items)&&z.items.every(q=>he(q)))}T.TTuple=ln;function Zn(z){return Ve(z,"Undefined")&&z.type==="undefined"&&Z(z.$id)}T.TUndefined=Zn;function Gn(z){return Pe(z)&&z.anyOf.every(q=>Ie(q)||qe(q))}T.TUnionLiteral=Gn;function Pe(z){return Ve(z,"Union")&&Z(z.$id)&&o.IsObject(z)&&o.IsArray(z.anyOf)&&z.anyOf.every(q=>he(q))}T.TUnion=Pe;function dt(z){return Ve(z,"Uint8Array")&&z.type==="Uint8Array"&&Z(z.$id)&&_(z.minByteLength)&&_(z.maxByteLength)}T.TUint8Array=dt;function $t(z){return Ve(z,"Unknown")&&Z(z.$id)}T.TUnknown=$t;function nn(z){return Ve(z,"Unsafe")}T.TUnsafe=nn;function Oe(z){return Ve(z,"Void")&&z.type==="void"&&Z(z.$id)}T.TVoid=Oe;function lt(z){return o.IsObject(z)&&z[e.Readonly]==="Readonly"}T.TReadonly=lt;function re(z){return o.IsObject(z)&&z[e.Optional]==="Optional"}T.TOptional=re;function he(z){return o.IsObject(z)&&(ue(z)||Ne(z)||fe(z)||ye(z)||oe(z)||Fe(z)||Y(z)||Q(z)||ve(z)||Ae(z)||Me(z)||We(z)||ut(z)||gt(z)||Dt(z)||jt(z)||En(z)||Lt(z)||jn(z)||Kn(z)||yn(z)||Hn(z)||Ln(z)||Sn(z)||ln(z)||Zn(z)||Pe(z)||dt(z)||$t(z)||nn(z)||Oe(z)||xe(z)&&t.Has(z[e.Kind]))}T.TSchema=he})(a||(e.TypeGuard=a={}));var s;(function(T){function x(O){return O[e.Kind]==="Intersect"?O.allOf.every(S=>x(S)):O[e.Kind]==="Union"?O.anyOf.some(S=>x(S)):O[e.Kind]==="Undefined"?!0:O[e.Kind]==="Not"?!x(O.not):!1}T.Check=x})(s||(e.ExtendsUndefined=s={}));class l extends n{}e.TypeExtendsError=l;var c;(function(T){T[T.Union=0]="Union",T[T.True=1]="True",T[T.False=2]="False"})(c||(e.TypeExtendsResult=c={}));var f;(function(T){function x(P){return P===c.False?P:c.True}function O(P){throw new l(P)}function S(P){return a.TNever(P)||a.TIntersect(P)||a.TUnion(P)||a.TUnknown(P)||a.TAny(P)}function C(P,J){return a.TNever(J)?Ve():a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TUnknown(J)?ht():a.TAny(J)?_():O("StructuralRight")}function _(P,J){return c.True}function B(P,J){return a.TIntersect(J)?Q(P,J):a.TUnion(J)&&J.anyOf.some(ze=>a.TAny(ze)||a.TUnknown(ze))?c.True:a.TUnion(J)?c.Union:a.TUnknown(J)||a.TAny(J)?c.True:c.Union}function Z(P,J){return a.TUnknown(P)?c.False:a.TAny(P)?c.Union:a.TNever(P)?c.True:c.False}function pe(P,J){return a.TObject(J)&&Ln(J)?c.True:S(J)?C(P,J):a.TArray(J)?x(ct(P.items,J.items)):c.False}function _e(P,J){return S(J)?C(P,J):a.TAsyncIterator(J)?x(ct(P.items,J.items)):c.False}function ke(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TBigInt(J)?c.True:c.False}function ue(P,J){return a.TLiteral(P)&&o.IsBoolean(P.const)||a.TBoolean(P)?c.True:c.False}function Ne(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TBoolean(J)?c.True:c.False}function oe(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TConstructor(J)?P.parameters.length>J.parameters.length?c.False:P.parameters.every((ze,nt)=>x(ct(J.parameters[nt],ze))===c.True)?x(ct(P.returns,J.returns)):c.False:c.False}function ye(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TDate(J)?c.True:c.False}function fe(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TFunction(J)?P.parameters.length>J.parameters.length?c.False:P.parameters.every((ze,nt)=>x(ct(J.parameters[nt],ze))===c.True)?x(ct(P.returns,J.returns)):c.False:c.False}function Fe(P,J){return a.TLiteral(P)&&o.IsNumber(P.const)||a.TNumber(P)||a.TInteger(P)?c.True:c.False}function Y(P,J){return a.TInteger(J)||a.TNumber(J)?c.True:S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):c.False}function Q(P,J){return J.allOf.every(ze=>ct(P,ze)===c.True)?c.True:c.False}function ve(P,J){return P.allOf.some(ze=>ct(ze,J)===c.True)?c.True:c.False}function Ae(P,J){return S(J)?C(P,J):a.TIterator(J)?x(ct(P.items,J.items)):c.False}function Me(P,J){return a.TLiteral(J)&&J.const===P.const?c.True:S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TString(J)?Oe(P):a.TNumber(J)?We(P):a.TInteger(J)?Fe(P):a.TBoolean(J)?ue(P):c.False}function Ve(P,J){return c.False}function xe(P,J){return c.True}function Ie(P){let[J,ze]=[P,0];for(;a.TNot(J);)J=J.not,ze+=1;return ze%2===0?J:e.Type.Unknown()}function qe(P,J){return a.TNot(P)?ct(Ie(P),J):a.TNot(J)?ct(P,Ie(J)):O("Invalid fallthrough for Not")}function tt(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TNull(J)?c.True:c.False}function We(P,J){return a.TLiteralNumber(P)||a.TNumber(P)||a.TInteger(P)?c.True:c.False}function ut(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TInteger(J)||a.TNumber(J)?c.True:c.False}function gt(P,J){return Object.getOwnPropertyNames(P.properties).length===J}function Dt(P){return Ln(P)}function jt(P){return gt(P,0)||gt(P,1)&&"description"in P.properties&&a.TUnion(P.properties.description)&&P.properties.description.anyOf.length===2&&(a.TString(P.properties.description.anyOf[0])&&a.TUndefined(P.properties.description.anyOf[1])||a.TString(P.properties.description.anyOf[1])&&a.TUndefined(P.properties.description.anyOf[0]))}function En(P){return gt(P,0)}function Lt(P){return gt(P,0)}function jn(P){return gt(P,0)}function un(P){return gt(P,0)}function Kn(P){return Ln(P)}function yn(P){const J=e.Type.Number();return gt(P,0)||gt(P,1)&&"length"in P.properties&&x(ct(P.properties.length,J))===c.True}function Hn(P){return gt(P,0)}function Ln(P){const J=e.Type.Number();return gt(P,0)||gt(P,1)&&"length"in P.properties&&x(ct(P.properties.length,J))===c.True}function Sn(P){const J=e.Type.Function([e.Type.Any()],e.Type.Any());return gt(P,0)||gt(P,1)&&"then"in P.properties&&x(ct(P.properties.then,J))===c.True}function bn(P,J){return ct(P,J)===c.False||a.TOptional(P)&&!a.TOptional(J)?c.False:c.True}function ln(P,J){return a.TUnknown(P)?c.False:a.TAny(P)?c.Union:a.TNever(P)||a.TLiteralString(P)&&Dt(J)||a.TLiteralNumber(P)&&En(J)||a.TLiteralBoolean(P)&&Lt(J)||a.TSymbol(P)&&jt(J)||a.TBigInt(P)&&jn(J)||a.TString(P)&&Dt(J)||a.TSymbol(P)&&jt(J)||a.TNumber(P)&&En(J)||a.TInteger(P)&&En(J)||a.TBoolean(P)&&Lt(J)||a.TUint8Array(P)&&Kn(J)||a.TDate(P)&&un(J)||a.TConstructor(P)&&Hn(J)||a.TFunction(P)&&yn(J)?c.True:a.TRecord(P)&&a.TString(Pe(P))?(()=>J[e.Hint]==="Record"?c.True:c.False)():a.TRecord(P)&&a.TNumber(Pe(P))?(()=>gt(J,0)?c.True:c.False)():c.False}function Zn(P,J){return S(J)?C(P,J):a.TRecord(J)?$t(P,J):a.TObject(J)?(()=>{for(const ze of Object.getOwnPropertyNames(J.properties))if(!(ze in P.properties)||bn(P.properties[ze],J.properties[ze])===c.False)return c.False;return c.True})():c.False}function Gn(P,J){return S(J)?C(P,J):a.TObject(J)&&Sn(J)?c.True:a.TPromise(J)?x(ct(P.item,J.item)):c.False}function Pe(P){return e.PatternNumberExact in P.patternProperties?e.Type.Number():e.PatternStringExact in P.patternProperties?e.Type.String():O("Unknown record key pattern")}function dt(P){return e.PatternNumberExact in P.patternProperties?P.patternProperties[e.PatternNumberExact]:e.PatternStringExact in P.patternProperties?P.patternProperties[e.PatternStringExact]:O("Unable to get record value schema")}function $t(P,J){const[ze,nt]=[Pe(J),dt(J)];return a.TLiteralString(P)&&a.TNumber(ze)&&x(ct(P,nt))===c.True?c.True:a.TUint8Array(P)&&a.TNumber(ze)||a.TString(P)&&a.TNumber(ze)||a.TArray(P)&&a.TNumber(ze)?ct(P,nt):a.TObject(P)?(()=>{for(const at of Object.getOwnPropertyNames(P.properties))if(bn(nt,P.properties[at])===c.False)return c.False;return c.True})():c.False}function nn(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?ct(dt(P),dt(J)):c.False}function Oe(P,J){return a.TLiteral(P)&&o.IsString(P.const)||a.TString(P)?c.True:c.False}function lt(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TString(J)?c.True:c.False}function re(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TSymbol(J)?c.True:c.False}function he(P,J){return a.TTemplateLiteral(P)?ct($.Resolve(P),J):a.TTemplateLiteral(J)?ct(P,$.Resolve(J)):O("Invalid fallthrough for TemplateLiteral")}function z(P,J){return a.TArray(J)&&P.items!==void 0&&P.items.every(ze=>ct(ze,J.items)===c.True)}function q(P,J){return a.TNever(P)?c.True:a.TUnknown(P)?c.False:a.TAny(P)?c.Union:c.False}function X(P,J){return S(J)?C(P,J):a.TObject(J)&&Ln(J)||a.TArray(J)&&z(P,J)?c.True:a.TTuple(J)?o.IsUndefined(P.items)&&!o.IsUndefined(J.items)||!o.IsUndefined(P.items)&&o.IsUndefined(J.items)?c.False:o.IsUndefined(P.items)&&!o.IsUndefined(J.items)||P.items.every((ze,nt)=>ct(ze,J.items[nt])===c.True)?c.True:c.False:c.False}function de(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TUint8Array(J)?c.True:c.False}function je(P,J){return S(J)?C(P,J):a.TObject(J)?ln(P,J):a.TRecord(J)?$t(P,J):a.TVoid(J)?bt(P):a.TUndefined(J)?c.True:c.False}function Te(P,J){return J.anyOf.some(ze=>ct(P,ze)===c.True)?c.True:c.False}function it(P,J){return P.anyOf.every(ze=>ct(ze,J)===c.True)?c.True:c.False}function ht(P,J){return c.True}function Tt(P,J){return a.TNever(J)?Ve():a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TAny(J)?_():a.TString(J)?Oe(P):a.TNumber(J)?We(P):a.TInteger(J)?Fe(P):a.TBoolean(J)?ue(P):a.TArray(J)?Z(P):a.TTuple(J)?q(P):a.TObject(J)?ln(P,J):a.TUnknown(J)?c.True:c.False}function bt(P,J){return a.TUndefined(P)||a.TUndefined(P)?c.True:c.False}function Ht(P,J){return a.TIntersect(J)?Q(P,J):a.TUnion(J)?Te(P,J):a.TUnknown(J)?ht():a.TAny(J)?_():a.TObject(J)?ln(P,J):a.TVoid(J)?c.True:c.False}function ct(P,J){return a.TTemplateLiteral(P)||a.TTemplateLiteral(J)?he(P,J):a.TNot(P)||a.TNot(J)?qe(P,J):a.TAny(P)?B(P,J):a.TArray(P)?pe(P,J):a.TBigInt(P)?ke(P,J):a.TBoolean(P)?Ne(P,J):a.TAsyncIterator(P)?_e(P,J):a.TConstructor(P)?oe(P,J):a.TDate(P)?ye(P,J):a.TFunction(P)?fe(P,J):a.TInteger(P)?Y(P,J):a.TIntersect(P)?ve(P,J):a.TIterator(P)?Ae(P,J):a.TLiteral(P)?Me(P,J):a.TNever(P)?xe():a.TNull(P)?tt(P,J):a.TNumber(P)?ut(P,J):a.TObject(P)?Zn(P,J):a.TRecord(P)?nn(P,J):a.TString(P)?lt(P,J):a.TSymbol(P)?re(P,J):a.TTuple(P)?X(P,J):a.TPromise(P)?Gn(P,J):a.TUint8Array(P)?de(P,J):a.TUndefined(P)?je(P,J):a.TUnion(P)?it(P,J):a.TUnknown(P)?Tt(P,J):a.TVoid(P)?Ht(P,J):O(`Unknown left type operand '${P[e.Kind]}'`)}function rn(P,J){return ct(P,J)}T.Extends=rn})(f||(e.TypeExtends=f={}));var u;(function(T){function x(B){const Z=Object.getOwnPropertyNames(B).reduce((_e,ke)=>({..._e,[ke]:S(B[ke])}),{}),pe=Object.getOwnPropertySymbols(B).reduce((_e,ke)=>({..._e,[ke]:S(B[ke])}),{});return{...Z,...pe}}function O(B){return B.map(Z=>S(Z))}function S(B){return o.IsArray(B)?O(B):o.IsObject(B)?x(B):B}function C(B){return B.map(Z=>_(Z))}T.Rest=C;function _(B,Z={}){return{...S(B),...Z}}T.Type=_})(u||(e.TypeClone=u={}));var d;(function(T){function x(oe){return oe.map(ye=>{const{[e.Optional]:fe,...Fe}=u.Type(ye);return Fe})}function O(oe){return oe.every(ye=>a.TOptional(ye))}function S(oe){return oe.some(ye=>a.TOptional(ye))}function C(oe){return O(oe.allOf)?e.Type.Optional(e.Type.Intersect(x(oe.allOf))):oe}function _(oe){return S(oe.anyOf)?e.Type.Optional(e.Type.Union(x(oe.anyOf))):oe}function B(oe){return oe[e.Kind]==="Intersect"?C(oe):oe[e.Kind]==="Union"?_(oe):oe}function Z(oe,ye){const fe=oe.allOf.reduce((Fe,Y)=>{const Q=ue(Y,ye);return Q[e.Kind]==="Never"?Fe:[...Fe,Q]},[]);return B(e.Type.Intersect(fe))}function pe(oe,ye){const fe=oe.anyOf.map(Fe=>ue(Fe,ye));return B(e.Type.Union(fe))}function _e(oe,ye){const fe=oe.properties[ye];return o.IsUndefined(fe)?e.Type.Never():e.Type.Union([fe])}function ke(oe,ye){const fe=oe.items;if(o.IsUndefined(fe))return e.Type.Never();const Fe=fe[ye];return o.IsUndefined(Fe)?e.Type.Never():Fe}function ue(oe,ye){return oe[e.Kind]==="Intersect"?Z(oe,ye):oe[e.Kind]==="Union"?pe(oe,ye):oe[e.Kind]==="Object"?_e(oe,ye):oe[e.Kind]==="Tuple"?ke(oe,ye):e.Type.Never()}function Ne(oe,ye,fe={}){const Fe=ye.map(Y=>ue(oe,Y.toString()));return B(e.Type.Union(Fe,fe))}T.Resolve=Ne})(d||(e.IndexedAccessor=d={}));var h;(function(T){function x(ke){const[ue,Ne]=[ke.slice(0,1),ke.slice(1)];return`${ue.toLowerCase()}${Ne}`}function O(ke){const[ue,Ne]=[ke.slice(0,1),ke.slice(1)];return`${ue.toUpperCase()}${Ne}`}function S(ke){return ke.toUpperCase()}function C(ke){return ke.toLowerCase()}function _(ke,ue){const Ne=E.ParseExact(ke.pattern);if(!D.Check(Ne))return{...ke,pattern:B(ke.pattern,ue)};const fe=[...M.Generate(Ne)].map(Q=>e.Type.Literal(Q)),Fe=Z(fe,ue),Y=e.Type.Union(Fe);return e.Type.TemplateLiteral([Y])}function B(ke,ue){return typeof ke=="string"?ue==="Uncapitalize"?x(ke):ue==="Capitalize"?O(ke):ue==="Uppercase"?S(ke):ue==="Lowercase"?C(ke):ke:ke.toString()}function Z(ke,ue){if(ke.length===0)return[];const[Ne,...oe]=ke;return[_e(Ne,ue),...Z(oe,ue)]}function pe(ke,ue){return a.TTemplateLiteral(ke)?_(ke,ue):a.TUnion(ke)?e.Type.Union(Z(ke.anyOf,ue)):a.TLiteral(ke)?e.Type.Literal(B(ke.const,ue)):ke}function _e(ke,ue){return pe(ke,ue)}T.Map=_e})(h||(e.Intrinsic=h={}));var p;(function(T){function x(B,Z){return e.Type.Intersect(B.allOf.map(pe=>C(pe,Z)),{...B})}function O(B,Z){return e.Type.Union(B.anyOf.map(pe=>C(pe,Z)),{...B})}function S(B,Z){return Z(B)}function C(B,Z){return B[e.Kind]==="Intersect"?x(B,Z):B[e.Kind]==="Union"?O(B,Z):B[e.Kind]==="Object"?S(B,Z):B}function _(B,Z,pe){return{...C(u.Type(B),Z),...pe}}T.Map=_})(p||(e.ObjectMap=p={}));var m;(function(T){function x(_e){return _e[0]==="^"&&_e[_e.length-1]==="$"?_e.slice(1,_e.length-1):_e}function O(_e,ke){return _e.allOf.reduce((ue,Ne)=>[...ue,...B(Ne,ke)],[])}function S(_e,ke){const ue=_e.anyOf.map(Ne=>B(Ne,ke));return[...ue.reduce((Ne,oe)=>oe.map(ye=>ue.every(fe=>fe.includes(ye))?Ne.add(ye):Ne)[0],new Set)]}function C(_e,ke){return Object.getOwnPropertyNames(_e.properties)}function _(_e,ke){return ke.includePatterns?Object.getOwnPropertyNames(_e.patternProperties):[]}function B(_e,ke){return a.TIntersect(_e)?O(_e,ke):a.TUnion(_e)?S(_e,ke):a.TObject(_e)?C(_e):a.TRecord(_e)?_(_e,ke):[]}function Z(_e,ke){return[...new Set(B(_e,ke))]}T.ResolveKeys=Z;function pe(_e){return`^(${Z(_e,{includePatterns:!0}).map(Ne=>`(${x(Ne)})`).join("|")})$`}T.ResolvePattern=pe})(m||(e.KeyResolver=m={}));class v extends n{}e.KeyArrayResolverError=v;var g;(function(T){function x(O){return Array.isArray(O)?O:a.TUnionLiteral(O)?O.anyOf.map(S=>S.const.toString()):a.TLiteral(O)?[O.const]:a.TTemplateLiteral(O)?(()=>{const S=E.ParseExact(O.pattern);if(!D.Check(S))throw new v("Cannot resolve keys from infinite template expression");return[...M.Generate(S)]})():[]}T.Resolve=x})(g||(e.KeyArrayResolver=g={}));var y;(function(T){function*x(S){for(const C of S.anyOf)C[e.Kind]==="Union"?yield*x(C):yield C}function O(S){return e.Type.Union([...x(S)],{...S})}T.Resolve=O})(y||(e.UnionResolver=y={}));class w extends n{}e.TemplateLiteralPatternError=w;var k;(function(T){function x(_){throw new w(_)}function O(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function S(_,B){return a.TTemplateLiteral(_)?_.pattern.slice(1,_.pattern.length-1):a.TUnion(_)?`(${_.anyOf.map(Z=>S(Z,B)).join("|")})`:a.TNumber(_)?`${B}${e.PatternNumber}`:a.TInteger(_)?`${B}${e.PatternNumber}`:a.TBigInt(_)?`${B}${e.PatternNumber}`:a.TString(_)?`${B}${e.PatternString}`:a.TLiteral(_)?`${B}${O(_.const.toString())}`:a.TBoolean(_)?`${B}${e.PatternBoolean}`:x(`Unexpected Kind '${_[e.Kind]}'`)}function C(_){return`^${_.map(B=>S(B,"")).join("")}$`}T.Create=C})(k||(e.TemplateLiteralPattern=k={}));var $;(function(T){function x(O){const S=E.ParseExact(O.pattern);if(!D.Check(S))return e.Type.String();const C=[...M.Generate(S)].map(_=>e.Type.Literal(_));return e.Type.Union(C)}T.Resolve=x})($||(e.TemplateLiteralResolver=$={}));class j extends n{}e.TemplateLiteralParserError=j;var E;(function(T){function x(oe,ye,fe){return oe[ye]===fe&&oe.charCodeAt(ye-1)!==92}function O(oe,ye){return x(oe,ye,"(")}function S(oe,ye){return x(oe,ye,")")}function C(oe,ye){return x(oe,ye,"|")}function _(oe){if(!(O(oe,0)&&S(oe,oe.length-1)))return!1;let ye=0;for(let fe=0;fe<oe.length;fe++)if(O(oe,fe)&&(ye+=1),S(oe,fe)&&(ye-=1),ye===0&&fe!==oe.length-1)return!1;return!0}function B(oe){return oe.slice(1,oe.length-1)}function Z(oe){let ye=0;for(let fe=0;fe<oe.length;fe++)if(O(oe,fe)&&(ye+=1),S(oe,fe)&&(ye-=1),C(oe,fe)&&ye===0)return!0;return!1}function pe(oe){for(let ye=0;ye<oe.length;ye++)if(O(oe,ye))return!0;return!1}function _e(oe){let[ye,fe]=[0,0];const Fe=[];for(let Q=0;Q<oe.length;Q++)if(O(oe,Q)&&(ye+=1),S(oe,Q)&&(ye-=1),C(oe,Q)&&ye===0){const ve=oe.slice(fe,Q);ve.length>0&&Fe.push(ue(ve)),fe=Q+1}const Y=oe.slice(fe);return Y.length>0&&Fe.push(ue(Y)),Fe.length===0?{type:"const",const:""}:Fe.length===1?Fe[0]:{type:"or",expr:Fe}}function ke(oe){function ye(Y,Q){if(!O(Y,Q))throw new j("TemplateLiteralParser: Index must point to open parens");let ve=0;for(let Ae=Q;Ae<Y.length;Ae++)if(O(Y,Ae)&&(ve+=1),S(Y,Ae)&&(ve-=1),ve===0)return[Q,Ae];throw new j("TemplateLiteralParser: Unclosed group parens in expression")}function fe(Y,Q){for(let ve=Q;ve<Y.length;ve++)if(O(Y,ve))return[Q,ve];return[Q,Y.length]}const Fe=[];for(let Y=0;Y<oe.length;Y++)if(O(oe,Y)){const[Q,ve]=ye(oe,Y),Ae=oe.slice(Q,ve+1);Fe.push(ue(Ae)),Y=ve}else{const[Q,ve]=fe(oe,Y),Ae=oe.slice(Q,ve);Ae.length>0&&Fe.push(ue(Ae)),Y=ve-1}return Fe.length===0?{type:"const",const:""}:Fe.length===1?Fe[0]:{type:"and",expr:Fe}}function ue(oe){return _(oe)?ue(B(oe)):Z(oe)?_e(oe):pe(oe)?ke(oe):{type:"const",const:oe}}T.Parse=ue;function Ne(oe){return ue(oe.slice(1,oe.length-1))}T.ParseExact=Ne})(E||(e.TemplateLiteralParser=E={}));class N extends n{}e.TemplateLiteralFiniteError=N;var D;(function(T){function x(B){throw new N(B)}function O(B){return B.type==="or"&&B.expr.length===2&&B.expr[0].type==="const"&&B.expr[0].const==="0"&&B.expr[1].type==="const"&&B.expr[1].const==="[1-9][0-9]*"}function S(B){return B.type==="or"&&B.expr.length===2&&B.expr[0].type==="const"&&B.expr[0].const==="true"&&B.expr[1].type==="const"&&B.expr[1].const==="false"}function C(B){return B.type==="const"&&B.const===".*"}function _(B){return S(B)?!0:O(B)||C(B)?!1:B.type==="and"?B.expr.every(Z=>_(Z)):B.type==="or"?B.expr.every(Z=>_(Z)):B.type==="const"?!0:x("Unknown expression type")}T.Check=_})(D||(e.TemplateLiteralFinite=D={}));class L extends n{}e.TemplateLiteralGeneratorError=L;var M;(function(T){function*x(B){if(B.length===1)return yield*B[0];for(const Z of B[0])for(const pe of x(B.slice(1)))yield`${Z}${pe}`}function*O(B){return yield*x(B.expr.map(Z=>[..._(Z)]))}function*S(B){for(const Z of B.expr)yield*_(Z)}function*C(B){return yield B.const}function*_(B){return B.type==="and"?yield*O(B):B.type==="or"?yield*S(B):B.type==="const"?yield*C(B):(()=>{throw new L("Unknown expression")})()}T.Generate=_})(M||(e.TemplateLiteralGenerator=M={}));var F;(function(T){function*x(_){const B=_.trim().replace(/"|'/g,"");return B==="boolean"?yield e.Type.Boolean():B==="number"?yield e.Type.Number():B==="bigint"?yield e.Type.BigInt():B==="string"?yield e.Type.String():yield(()=>{const Z=B.split("|").map(pe=>e.Type.Literal(pe.trim()));return Z.length===0?e.Type.Never():Z.length===1?Z[0]:e.Type.Union(Z)})()}function*O(_){if(_[1]!=="{"){const B=e.Type.Literal("$"),Z=S(_.slice(1));return yield*[B,...Z]}for(let B=2;B<_.length;B++)if(_[B]==="}"){const Z=x(_.slice(2,B)),pe=S(_.slice(B+1));return yield*[...Z,...pe]}yield e.Type.Literal(_)}function*S(_){for(let B=0;B<_.length;B++)if(_[B]==="$"){const Z=e.Type.Literal(_.slice(0,B)),pe=O(_.slice(B));return yield*[Z,...pe]}yield e.Type.Literal(_)}function C(_){return[...S(_)]}T.Parse=C})(F||(e.TemplateLiteralDslParser=F={}));class H{constructor(x){this.schema=x}Decode(x){return new I(this.schema,x)}}e.TransformDecodeBuilder=H;class I{constructor(x,O){this.schema=x,this.decode=O}Encode(x){const O=u.Type(this.schema);return a.TTransform(O)?(()=>{const _={Encode:B=>O[e.Transform].Encode(x(B)),Decode:B=>this.decode(O[e.Transform].Decode(B))};return{...O,[e.Transform]:_}})():(()=>{const S={Decode:this.decode,Encode:x};return{...O,[e.Transform]:S}})()}}e.TransformEncodeBuilder=I;let W=0;class ee extends n{}e.TypeBuilderError=ee;class U{Create(x){return x}Throw(x){throw new ee(x)}Discard(x,O){return O.reduce((S,C)=>{const{[C]:_,...B}=S;return B},x)}Strict(x){return JSON.parse(JSON.stringify(x))}}e.TypeBuilder=U;class K extends U{ReadonlyOptional(x){return this.Readonly(this.Optional(x))}Readonly(x){return{...u.Type(x),[e.Readonly]:"Readonly"}}Optional(x){return{...u.Type(x),[e.Optional]:"Optional"}}Any(x={}){return this.Create({...x,[e.Kind]:"Any"})}Array(x,O={}){return this.Create({...O,[e.Kind]:"Array",type:"array",items:u.Type(x)})}Boolean(x={}){return this.Create({...x,[e.Kind]:"Boolean",type:"boolean"})}Capitalize(x,O={}){return{...h.Map(u.Type(x),"Capitalize"),...O}}Composite(x,O){const S=e.Type.Intersect(x,{}),_=m.ResolveKeys(S,{includePatterns:!1}).reduce((B,Z)=>({...B,[Z]:e.Type.Index(S,[Z])}),{});return e.Type.Object(_,O)}Enum(x,O={}){const S=Object.getOwnPropertyNames(x).filter(B=>isNaN(B)).map(B=>x[B]),_=[...new Set(S)].map(B=>e.Type.Literal(B));return this.Union(_,{...O,[e.Hint]:"Enum"})}Extends(x,O,S,C,_={}){switch(f.Extends(x,O)){case c.Union:return this.Union([u.Type(S,_),u.Type(C,_)]);case c.True:return u.Type(S,_);case c.False:return u.Type(C,_)}}Exclude(x,O,S={}){return a.TTemplateLiteral(x)?this.Exclude($.Resolve(x),O,S):a.TTemplateLiteral(O)?this.Exclude(x,$.Resolve(O),S):a.TUnion(x)?(()=>{const C=x.anyOf.filter(_=>f.Extends(_,O)===c.False);return C.length===1?u.Type(C[0],S):this.Union(C,S)})():f.Extends(x,O)!==c.False?this.Never(S):u.Type(x,S)}Extract(x,O,S={}){return a.TTemplateLiteral(x)?this.Extract($.Resolve(x),O,S):a.TTemplateLiteral(O)?this.Extract(x,$.Resolve(O),S):a.TUnion(x)?(()=>{const C=x.anyOf.filter(_=>f.Extends(_,O)!==c.False);return C.length===1?u.Type(C[0],S):this.Union(C,S)})():f.Extends(x,O)!==c.False?u.Type(x,S):this.Never(S)}Index(x,O,S={}){return a.TArray(x)&&a.TNumber(O)?(()=>u.Type(x.items,S))():a.TTuple(x)&&a.TNumber(O)?(()=>{const _=(o.IsUndefined(x.items)?[]:x.items).map(B=>u.Type(B));return this.Union(_,S)})():(()=>{const C=g.Resolve(O),_=u.Type(x);return d.Resolve(_,C,S)})()}Integer(x={}){return this.Create({...x,[e.Kind]:"Integer",type:"integer"})}Intersect(x,O={}){if(x.length===0)return e.Type.Never();if(x.length===1)return u.Type(x[0],O);x.some(B=>a.TTransform(B))&&this.Throw("Cannot intersect transform types");const S=x.every(B=>a.TObject(B)),C=u.Rest(x),_=a.TSchema(O.unevaluatedProperties)?{unevaluatedProperties:u.Type(O.unevaluatedProperties)}:{};return O.unevaluatedProperties===!1||a.TSchema(O.unevaluatedProperties)||S?this.Create({...O,..._,[e.Kind]:"Intersect",type:"object",allOf:C}):this.Create({...O,..._,[e.Kind]:"Intersect",allOf:C})}KeyOf(x,O={}){return a.TRecord(x)?(()=>{const S=Object.getOwnPropertyNames(x.patternProperties)[0];return S===e.PatternNumberExact?this.Number(O):S===e.PatternStringExact?this.String(O):this.Throw("Unable to resolve key type from Record key pattern")})():a.TTuple(x)?(()=>{const C=(o.IsUndefined(x.items)?[]:x.items).map((_,B)=>e.Type.Literal(B.toString()));return this.Union(C,O)})():a.TArray(x)?(()=>this.Number(O))():(()=>{const S=m.ResolveKeys(x,{includePatterns:!1});if(S.length===0)return this.Never(O);const C=S.map(_=>this.Literal(_));return this.Union(C,O)})()}Literal(x,O={}){return this.Create({...O,[e.Kind]:"Literal",const:x,type:typeof x})}Lowercase(x,O={}){return{...h.Map(u.Type(x),"Lowercase"),...O}}Never(x={}){return this.Create({...x,[e.Kind]:"Never",not:{}})}Not(x,O){return this.Create({...O,[e.Kind]:"Not",not:u.Type(x)})}Null(x={}){return this.Create({...x,[e.Kind]:"Null",type:"null"})}Number(x={}){return this.Create({...x,[e.Kind]:"Number",type:"number"})}Object(x,O={}){const S=Object.getOwnPropertyNames(x),C=S.filter(pe=>a.TOptional(x[pe])),_=S.filter(pe=>!C.includes(pe)),B=a.TSchema(O.additionalProperties)?{additionalProperties:u.Type(O.additionalProperties)}:{},Z=S.reduce((pe,_e)=>({...pe,[_e]:u.Type(x[_e])}),{});return _.length>0?this.Create({...O,...B,[e.Kind]:"Object",type:"object",properties:Z,required:_}):this.Create({...O,...B,[e.Kind]:"Object",type:"object",properties:Z})}Omit(x,O,S={}){const C=g.Resolve(O);return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),_=>{o.IsArray(_.required)&&(_.required=_.required.filter(B=>!C.includes(B)),_.required.length===0&&delete _.required);for(const B of Object.getOwnPropertyNames(_.properties))C.includes(B)&&delete _.properties[B];return this.Create(_)},S)}Partial(x,O={}){return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),S=>{const C=Object.getOwnPropertyNames(S.properties).reduce((_,B)=>({..._,[B]:this.Optional(S.properties[B])}),{});return this.Object(C,this.Discard(S,["required"]))},O)}Pick(x,O,S={}){const C=g.Resolve(O);return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),_=>{o.IsArray(_.required)&&(_.required=_.required.filter(B=>C.includes(B)),_.required.length===0&&delete _.required);for(const B of Object.getOwnPropertyNames(_.properties))C.includes(B)||delete _.properties[B];return this.Create(_)},S)}Record(x,O,S={}){return a.TTemplateLiteral(x)?(()=>{const C=E.ParseExact(x.pattern);return D.Check(C)?this.Object([...M.Generate(C)].reduce((_,B)=>({..._,[B]:u.Type(O)}),{}),S):this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[x.pattern]:u.Type(O)}})})():a.TUnion(x)?(()=>{const C=y.Resolve(x);if(a.TUnionLiteral(C)){const _=C.anyOf.reduce((B,Z)=>({...B,[Z.const]:u.Type(O)}),{});return this.Object(_,{...S,[e.Hint]:"Record"})}else this.Throw("Record key of type union contains non-literal types")})():a.TLiteral(x)?(()=>o.IsString(x.const)||o.IsNumber(x.const)?this.Object({[x.const]:u.Type(O)},S):this.Throw("Record key of type literal is not of type string or number"))():a.TInteger(x)||a.TNumber(x)?(()=>this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[e.PatternNumberExact]:u.Type(O)}}))():a.TString(x)?(()=>{const C=o.IsUndefined(x.pattern)?e.PatternStringExact:x.pattern;return this.Create({...S,[e.Kind]:"Record",type:"object",patternProperties:{[C]:u.Type(O)}})})():this.Never()}Recursive(x,O={}){o.IsUndefined(O.$id)&&(O.$id=`T${W++}`);const S=x({[e.Kind]:"This",$ref:`${O.$id}`});return S.$id=O.$id,this.Create({...O,[e.Hint]:"Recursive",...S})}Ref(x,O={}){return o.IsString(x)?this.Create({...O,[e.Kind]:"Ref",$ref:x}):(o.IsUndefined(x.$id)&&this.Throw("Reference target type must specify an $id"),this.Create({...O,[e.Kind]:"Ref",$ref:x.$id}))}Required(x,O={}){return p.Map(this.Discard(u.Type(x),["$id",e.Transform]),S=>{const C=Object.getOwnPropertyNames(S.properties).reduce((_,B)=>({..._,[B]:this.Discard(S.properties[B],[e.Optional])}),{});return this.Object(C,S)},O)}Rest(x){return a.TTuple(x)&&!o.IsUndefined(x.items)?u.Rest(x.items):a.TIntersect(x)?u.Rest(x.allOf):a.TUnion(x)?u.Rest(x.anyOf):[]}String(x={}){return this.Create({...x,[e.Kind]:"String",type:"string"})}TemplateLiteral(x,O={}){const S=o.IsString(x)?k.Create(F.Parse(x)):k.Create(x);return this.Create({...O,[e.Kind]:"TemplateLiteral",type:"string",pattern:S})}Transform(x){return new H(x)}Tuple(x,O={}){const[S,C,_]=[!1,x.length,x.length],B=u.Rest(x),Z=x.length>0?{...O,[e.Kind]:"Tuple",type:"array",items:B,additionalItems:S,minItems:C,maxItems:_}:{...O,[e.Kind]:"Tuple",type:"array",minItems:C,maxItems:_};return this.Create(Z)}Uncapitalize(x,O={}){return{...h.Map(u.Type(x),"Uncapitalize"),...O}}Union(x,O={}){return a.TTemplateLiteral(x)?$.Resolve(x):(()=>{const S=x;if(S.length===0)return this.Never(O);if(S.length===1)return this.Create(u.Type(S[0],O));const C=u.Rest(S);return this.Create({...O,[e.Kind]:"Union",anyOf:C})})()}Unknown(x={}){return this.Create({...x,[e.Kind]:"Unknown"})}Unsafe(x={}){return this.Create({...x,[e.Kind]:x[e.Kind]||"Unsafe"})}Uppercase(x,O={}){return{...h.Map(u.Type(x),"Uppercase"),...O}}}e.JsonTypeBuilder=K;class A extends K{AsyncIterator(x,O={}){return this.Create({...O,[e.Kind]:"AsyncIterator",type:"AsyncIterator",items:u.Type(x)})}Awaited(x,O={}){const S=C=>C.length>0?(()=>{const[_,...B]=C;return[this.Awaited(_),...S(B)]})():C;return a.TIntersect(x)?e.Type.Intersect(S(x.allOf)):a.TUnion(x)?e.Type.Union(S(x.anyOf)):a.TPromise(x)?this.Awaited(x.item):u.Type(x,O)}BigInt(x={}){return this.Create({...x,[e.Kind]:"BigInt",type:"bigint"})}ConstructorParameters(x,O={}){return this.Tuple([...x.parameters],{...O})}Constructor(x,O,S){const[C,_]=[u.Rest(x),u.Type(O)];return this.Create({...S,[e.Kind]:"Constructor",type:"Constructor",parameters:C,returns:_})}Date(x={}){return this.Create({...x,[e.Kind]:"Date",type:"Date"})}Function(x,O,S){const[C,_]=[u.Rest(x),u.Type(O)];return this.Create({...S,[e.Kind]:"Function",type:"Function",parameters:C,returns:_})}InstanceType(x,O={}){return u.Type(x.returns,O)}Iterator(x,O={}){return this.Create({...O,[e.Kind]:"Iterator",type:"Iterator",items:u.Type(x)})}Parameters(x,O={}){return this.Tuple(x.parameters,{...O})}Promise(x,O={}){return this.Create({...O,[e.Kind]:"Promise",type:"Promise",item:u.Type(x)})}RegExp(x,O={}){const S=o.IsString(x)?x:x.source;return this.Create({...O,[e.Kind]:"String",type:"string",pattern:S})}RegEx(x,O={}){return this.RegExp(x,O)}ReturnType(x,O={}){return u.Type(x.returns,O)}Symbol(x){return this.Create({...x,[e.Kind]:"Symbol",type:"symbol"})}Undefined(x={}){return this.Create({...x,[e.Kind]:"Undefined",type:"undefined"})}Uint8Array(x={}){return this.Create({...x,[e.Kind]:"Uint8Array",type:"Uint8Array"})}Void(x={}){return this.Create({...x,[e.Kind]:"Void",type:"void"})}}e.JavaScriptTypeBuilder=A,e.JsonType=new K,e.Type=new A})(R);const lve=R.Type.Object({src:R.Type.String(),path:R.Type.Optional(R.Type.String()),volume:R.Type.Optional(R.Type.Number()),rate:R.Type.Optional(R.Type.Number()),html5:R.Type.Optional(R.Type.Boolean()),fadeInTime:R.Type.Optional(R.Type.Number()),fadeInDelay:R.Type.Optional(R.Type.Number()),fadeOutTime:R.Type.Optional(R.Type.Number()),loop:R.Type.Optional(R.Type.Boolean())}),cve=R.Type.Record(R.Type.String(),lve),uve=R.Type.Object({volume:R.Type.Optional(R.Type.Number()),defaultMusic:R.Type.Optional(R.Type.String()),musicFadeInTime:R.Type.Optional(R.Type.Number()),musicFadeOutTime:R.Type.Optional(R.Type.Number()),musicFadeInDelay:R.Type.Optional(R.Type.Number())}),fve=R.Type.Record(R.Type.String(),R.Type.String()),z7=R.Type.Object({files:cve,audioTriggers:fve,options:uve}),q7={files:{},audioTriggers:{},options:{volume:1,musicFadeInTime:.5,musicFadeInDelay:.5,musicFadeOutTime:.5}},U7=R.Type.Object({backgrounds:R.Type.Object({width:R.Type.Number(),height:R.Type.Number()}),dialogBottomPadding:R.Type.Union([R.Type.Number(),R.Type.String()]),minTextWidth:R.Type.Optional(R.Type.Number()),verticalLayoutThreshold:R.Type.Number(),defaultFontSize:R.Type.Optional(R.Type.Number()),portraits:R.Type.Object({width:R.Type.Number(),height:R.Type.Number(),offset:R.Type.Optional(R.Type.Object({landscape:R.Type.Optional(R.Type.Object({right:R.Type.Number(),bottom:R.Type.Number()})),portrait:R.Type.Optional(R.Type.Object({right:R.Type.Number(),bottom:R.Type.Number()}))}))})}),dve={backgrounds:{width:880,height:720},dialogBottomPadding:70,verticalLayoutThreshold:600,defaultFontSize:16,portraits:{width:100,height:100}},n0=R.Type.Object({name:R.Type.String(),description:R.Type.Optional(R.Type.String())}),hve=R.Type.Intersect([n0,R.Type.Object({type:R.Type.Literal("number"),defaultValue:R.Type.Number(),step:R.Type.Number(),minValue:R.Type.Number(),maxValue:R.Type.Number()})]),pve=R.Type.Intersect([n0,R.Type.Object({type:R.Type.Literal("integer"),defaultValue:R.Type.Number(),step:R.Type.Number(),minValue:R.Type.Number(),maxValue:R.Type.Number()})]),mve=R.Type.Intersect([n0,R.Type.Object({type:R.Type.Literal("boolean"),defaultValue:R.Type.Boolean()})]),vve=R.Type.Intersect([n0,R.Type.Object({type:R.Type.Literal("string"),defaultValue:R.Type.String()})]),gve=R.Type.Union([hve,pve,mve,vve]);function yve(e){return e.type==="number"}function H7(e){return e.type==="integer"}function bve(e){return e.type==="boolean"}function wve(e){return e.type==="string"}const W7=R.Type.Object({customSettings:R.Type.Optional(R.Type.Record(R.Type.String(),gve))}),r0="###_--_~=:;_JUMP",g_="###_--_~=:;_RETURN",kve="###_--_~=:;_OK",o0="###_--_~=:;_STOP";function xve(e){return e===r0||e===g_||e===kve||e===o0}const _ve="3.7.1",jve=new Date("2023-12-01T10:39:47.489Z"),Sve=400,i0=20,y_="@empty",K7={background:y_},G7=R.Type.Optional(R.Type.Object({animateText:R.Type.Optional(R.Type.Boolean()),textSpeed:R.Type.Optional(R.Type.Number()),timeBetweenLines:R.Type.Optional(R.Type.Number()),overlayMode:R.Type.Optional(R.Type.Boolean()),rightOffset:R.Type.Optional(R.Type.Number()),bottomOffset:R.Type.Optional(R.Type.Number()),width:R.Type.Optional(R.Type.Number()),height:R.Type.Optional(R.Type.Number()),hideDuringTransition:R.Type.Optional(R.Type.Boolean()),showAfterScriptEnd:R.Type.Optional(R.Type.Boolean())})),J7=R.Type.Object({engineSplashScreen:R.Type.Optional(R.Type.Object({skip:R.Type.Optional(R.Type.Boolean()),fadeDuration:R.Type.Optional(R.Type.Number()),timeBeforeFadeout:R.Type.Optional(R.Type.Number()),overrideText:R.Type.Optional(R.Type.String()),overrideLogo:R.Type.Optional(R.Type.String())})),gameSplashScreen:R.Type.Optional(R.Type.Object({startButtonText:R.Type.Optional(R.Type.String())}))}),Q7=R.Type.Object({timeOnScreen:R.Type.Number(),alsoPrintInDialogue:R.Type.Optional(R.Type.Boolean())}),Cve=R.Type.Object({name:R.Type.String(),icon:R.Type.String(),startingValue:R.Type.Number(),maxValue:R.Type.Optional(R.Type.Number()),minValue:R.Type.Optional(R.Type.Number()),decimals:R.Type.Optional(R.Type.Number()),prefix:R.Type.Optional(R.Type.String()),suffix:R.Type.Optional(R.Type.String()),hideName:R.Type.Optional(R.Type.Boolean()),formatting:R.Type.Optional(R.Type.Object({style:R.Type.Union([R.Type.Literal("decimal"),R.Type.Literal("currency"),R.Type.Literal("percent"),R.Type.Literal("unit")]),currency:R.Type.Optional(R.Type.String()),unit:R.Type.Optional(R.Type.String())}))}),Y7=R.Type.Record(R.Type.String(),Cve),X7=R.Type.Record(R.Type.String(),R.Type.Object({onlyInteractOutsideOfScripts:R.Type.Optional(R.Type.Boolean())})),$ve=R.Type.Object({delay:R.Type.Optional(R.Type.Number()),duration:R.Type.Optional(R.Type.Number())}),Z7=R.Type.Record(R.Type.String(),$ve),Tve=R.Type.Object({text:R.Type.String(),cssClass:R.Type.Optional(R.Type.String())}),e9=R.Type.Record(R.Type.String(),Tve),t9=R.Type.Object({showScriptFinishedMessage:R.Type.Optional(R.Type.Boolean())}),n9=R.Type.Object({mode:R.Type.String(),slots:R.Type.Number(),runOnReload:R.Type.Optional(R.Type.String())}),r9=R.Type.Array(R.Type.String()),Ove=[],o9=R.Type.Object({baseAssetsPath:R.Type.Optional(R.Type.String()),baseDataPath:R.Type.Optional(R.Type.String()),gameTitle:R.Type.String(),saveFileName:R.Type.String(),images:R.Type.Optional(R.Type.Record(R.Type.String(),R.Type.String())),layout:U7,settings:R.Type.Optional(W7),gameFlow:R.Type.Optional(R.Type.Object({labelToJumpOnScriptEnd:R.Type.Optional(R.Type.String())})),dialogPanel:R.Type.Optional(G7),splashScreens:R.Type.Optional(J7),notifications:R.Type.Optional(Q7),hudStats:Y7,interactionTags:R.Type.Optional(X7),transitions:R.Type.Optional(Z7),menuButtons:R.Type.Optional(e9),debugging:R.Type.Optional(t9),saves:R.Type.Optional(n9)}),b_={baseAssetsPath:"",baseDataPath:"",gameTitle:"Narrat Game",saveFileName:"narrat save",images:{},layout:dve,settings:{},gameFlow:{},dialogPanel:{overlayMode:!0,rightOffset:100,bottomOffset:50,width:475,height:680,textSpeed:i0,animateText:!0,timeBetweenLines:100,hideDuringTransition:!1,showAfterScriptEnd:!1},splashScreens:{},notifications:{timeOnScreen:2.5,alsoPrintInDialogue:!1},hudStats:{},interactionTags:{default:{onlyInteractOutsideOfScripts:!0}},transitions:{},menuButtons:{},debugging:{showScriptFinishedMessage:!1},saves:{mode:"manual",slots:10}},Eve=R.Type.Object({name:R.Type.String(),description:R.Type.String(),icon:R.Type.String(),onUse:R.Type.Optional(R.Type.Object({action:R.Type.String(),label:R.Type.String()})),tag:R.Type.Optional(R.Type.String()),category:R.Type.Optional(R.Type.String()),showIfEmpty:R.Type.Optional(R.Type.Boolean())}),i9=R.Type.Object({id:R.Type.String(),title:R.Type.String()}),a9=R.Type.Record(R.Type.String(),Eve);R.Type.Object({categories:R.Type.Array(i9),items:a9});const s9=R.Type.Object({categories:R.Type.Optional(R.Type.Array(i9)),items:R.Type.Optional(a9)}),l9={categories:[{id:"default",title:"Items"}],items:{}},Ave=R.Type.Object({description:R.Type.String(),succeededDescription:R.Type.Optional(R.Type.String()),failedDescription:R.Type.Optional(R.Type.String()),hidden:R.Type.Optional(R.Type.Boolean())}),Mve=R.Type.Object({title:R.Type.String(),description:R.Type.String(),succeededDescription:R.Type.Optional(R.Type.String()),failedDescription:R.Type.Optional(R.Type.String()),endings:R.Type.Optional(R.Type.Record(R.Type.String(),R.Type.Object({success:R.Type.Boolean(),description:R.Type.String()}))),objectives:R.Type.Record(R.Type.String(),Ave),category:R.Type.Optional(R.Type.String())}),Pve=R.Type.Object({id:R.Type.String(),title:R.Type.String()}),Nve=R.Type.Record(R.Type.String(),Mve),c9=R.Type.Object({quests:Nve,categories:R.Type.Array(Pve)}),u9={quests:{},categories:[{id:"default",title:"Quests"}]},f9=R.Type.Object({enabled:R.Type.Boolean(),background:R.Type.Optional(R.Type.String()),text:R.Type.Optional(R.Type.String()),cssClass:R.Type.Optional(R.Type.String()),position:R.Type.Object({left:R.Type.Number(),top:R.Type.Number(),width:R.Type.Optional(R.Type.Number()),height:R.Type.Optional(R.Type.Number())}),anchor:R.Type.Optional(R.Type.Object({x:R.Type.Number(),y:R.Type.Number()})),action:R.Type.Optional(R.Type.String()),actionType:R.Type.Optional(R.Type.String()),scriptClickable:R.Type.Optional(R.Type.Boolean()),tag:R.Type.Optional(R.Type.String())}),Ive=R.Type.Record(R.Type.String(),f9),d9=R.Type.Object({buttons:Ive,clickableDuringScriptsByDefault:R.Type.Optional(R.Type.Boolean())}),h9={buttons:{},clickableDuringScriptsByDefault:!1},Dve=R.Type.Intersect([f9,R.Type.Object({id:R.Type.String()})]),Lve=R.Type.Object({muted:R.Type.Optional(R.Type.Boolean()),loop:R.Type.Optional(R.Type.Boolean())}),Rve=R.Type.Object({background:R.Type.String(),video:R.Type.Optional(Lve),buttons:R.Type.Optional(R.Type.Array(R.Type.Union([R.Type.String(),Dve])))}),p9=R.Type.Record(R.Type.String(),Rve);R.Type.Object({screens:p9});const m9=R.Type.Object({screens:R.Type.Optional(p9)}),v9={screens:{}},Bve=R.Type.Object({name:R.Type.String(),description:R.Type.String(),startingLevel:R.Type.Number(),hidden:R.Type.Optional(R.Type.Boolean()),icon:R.Type.String()}),g9=R.Type.Record(R.Type.String(),Bve),y9=R.Type.Object({xpPerLevel:R.Type.Number(),notifyLevelUp:R.Type.Boolean()});R.Type.Object({skills:g9,skillOptions:y9});const b9=R.Type.Object({skills:R.Type.Optional(g9),skillOptions:R.Type.Optional(y9)}),w9={skills:{},skillOptions:{xpPerLevel:10,notifyLevelUp:!0}},Fve=R.Type.Object({portraitCssClass:R.Type.Optional(R.Type.String()),color:R.Type.Optional(R.Type.String()),boxCss:R.Type.Optional(R.Type.Record(R.Type.String(),R.Type.Any())),nameCss:R.Type.Optional(R.Type.Record(R.Type.String(),R.Type.Any())),textCss:R.Type.Optional(R.Type.Record(R.Type.String(),R.Type.Any()))}),Vve=R.Type.Object({video:R.Type.String(),autoplay:R.Type.Optional(R.Type.Boolean()),loop:R.Type.Optional(R.Type.Boolean()),muted:R.Type.Optional(R.Type.Boolean()),width:R.Type.Optional(R.Type.Number()),height:R.Type.Optional(R.Type.Number())}),zve=R.Type.Object({image:R.Type.String(),width:R.Type.Optional(R.Type.Number()),height:R.Type.Optional(R.Type.Number())}),qve=R.Type.Union([R.Type.String(),Vve,zve]),Uve=R.Type.Object({sprites:R.Type.Optional(R.Type.Record(R.Type.String(),qve)),name:R.Type.String(),style:R.Type.Optional(Fve)}),k9=R.Type.Object({config:R.Type.Object({imagesPath:R.Type.String(),playerCharacter:R.Type.Optional(R.Type.String()),gameCharacter:R.Type.Optional(R.Type.String())}),characters:R.Type.Record(R.Type.String(),Uve)}),x9={config:{imagesPath:"",playerCharacter:"player",gameCharacter:"game"},characters:{}},_9=R.Type.Object({cssClass:R.Type.Optional(R.Type.String()),textCssClass:R.Type.Optional(R.Type.String()),titleCssClass:R.Type.Optional(R.Type.String())}),j9=R.Type.Object({options:R.Type.Object({delay:R.Type.Optional(R.Type.Number()),width:R.Type.Number(),keywordsPrefix:R.Type.String(),screenEdgesMinimumMargin:R.Type.Optional(R.Type.Number()),styling:R.Type.Optional(_9)}),tooltips:R.Type.Array(R.Type.Object({keywords:R.Type.Array(R.Type.String()),title:R.Type.String(),description:R.Type.String(),styling:R.Type.Optional(_9)}))}),S9={options:{delay:0,width:350,keywordsPrefix:"@@"},tooltips:[]},Hve=R.Type.Object({name:R.Type.String(),description:R.Type.String(),icon:R.Type.Optional(R.Type.String()),lockedIcon:R.Type.Optional(R.Type.String()),secret:R.Type.Optional(R.Type.Boolean()),category:R.Type.Optional(R.Type.String())}),C9=R.Type.Object({id:R.Type.String(),title:R.Type.String()}),$9=R.Type.Record(R.Type.String(),Hve);R.Type.Object({defaultAchievementIcon:R.Type.String(),categories:R.Type.Array(C9),achievements:$9,notifyNewAchievements:R.Type.Boolean(),secretAchievements:R.Type.Optional(R.Type.Object({censorDescription:R.Type.Optional(R.Type.Boolean()),censorName:R.Type.Optional(R.Type.Boolean()),hideUntilObtained:R.Type.Optional(R.Type.Boolean())}))});const T9=R.Type.Object({categories:R.Type.Optional(R.Type.Array(C9)),achievements:R.Type.Optional($9)}),O9={categories:[{id:"default",title:"Achievements"}],achievements:{},notifyNewAchievements:!0,defaultAchievementIcon:"img/achievements/trophy.png"},Wve=R.Type.Object({diceRange:R.Type.Tuple([R.Type.Number(),R.Type.Number()]),diceCount:R.Type.Number(),difficultyText:R.Type.Array(R.Type.Tuple([R.Type.Number(),R.Type.String()])),extraPointsPerLevel:R.Type.Number(),extraDicePerLevel:R.Type.Optional(R.Type.Number()),successOnRollsBelowThreshold:R.Type.Boolean(),showDifficultyText:R.Type.Boolean(),showDifficultyNumber:R.Type.Boolean(),showDifficultyWithoutModifiers:R.Type.Boolean(),finalRollIsHighest:R.Type.Optional(R.Type.Boolean()),finalRollIsLowest:R.Type.Optional(R.Type.Boolean()),failOnRollsEqualToThreshold:R.Type.Optional(R.Type.Boolean())}),Kve=R.Type.Object({skill:R.Type.String(),difficulty:R.Type.Number(),winsNeeded:R.Type.Optional(R.Type.Number()),hideAfterRoll:R.Type.Optional(R.Type.Boolean()),repeatable:R.Type.Optional(R.Type.Boolean())}),E9=R.Type.Object({options:Wve,skillChecks:R.Type.Record(R.Type.String(),Kve)}),A9={options:{diceRange:[1,6],extraPointsPerLevel:1,extraDicePerLevel:0,diceCount:2,successOnRollsBelowThreshold:!1,showDifficultyText:!0,showDifficultyNumber:!1,showDifficultyWithoutModifiers:!1,finalRollIsHighest:!1,finalRollIsLowest:!1,difficultyText:[[2,"Very Easy"],[4,"Easy"],[6,"Medium"],[8,"Hard"],[10,"Very Hard"],[11,"Extremely Hard"],[12,"Near Impossible"]]},skillChecks:{}},Gve=R.Type.Object({cssClass:R.Type.Optional(R.Type.String()),textTemplate:R.Type.Optional(R.Type.String())}),M9=R.Type.Record(R.Type.String(),Gve);R.Type.Object({choiceTextTemplate:R.Type.String(),choicePrompts:M9});const P9=R.Type.Object({choiceTextTemplate:R.Type.Optional(R.Type.String()),choicePrompts:R.Type.Optional(M9)}),N9={choicePrompts:{},choiceTextTemplate:'<span class="choice-index">%{$index}. </span> <span class="choice-text">%{$choice}</span>'},I9=R.Type.Object({delay:R.Type.Optional(R.Type.Number()),direction:R.Type.Optional(R.Type.String()),duration:R.Type.Optional(R.Type.Number()),easing:R.Type.Optional(R.Type.String()),endDelay:R.Type.Optional(R.Type.Number()),fill:R.Type.Optional(R.Type.String()),iterationStart:R.Type.Optional(R.Type.Number()),iterations:R.Type.Optional(R.Type.Number()),keyframes:R.Type.Optional(R.Type.Any())}),w_=R.Type.Array(R.Type.Any()),Jve=R.Type.Object({keyframes:R.Type.Union([R.Type.String(),w_]),options:R.Type.Optional(I9)});R.Type.Object({keyframes:w_,options:R.Type.Optional(I9)});const D9=R.Type.Object({animations:R.Type.Record(R.Type.String(),Jve),keyframes:R.Type.Record(R.Type.String(),w_)}),L9={animations:{},keyframes:{}},Wf={common:b_,screens:v9,buttons:h9,skills:w9,skillChecks:A9,scripts:[],audio:q7,tooltips:S9,achievements:O9,items:l9,quests:u9,characters:x9,choices:N9,animations:L9};var Qve=function(t){return Yve(t)&&!Xve(t)};function Yve(e){return!!e&&typeof e=="object"}function Xve(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||tge(e)}var Zve=typeof Symbol=="function"&&Symbol.for,ege=Zve?Symbol.for("react.element"):60103;function tge(e){return e.$$typeof===ege}function nge(e){return Array.isArray(e)?[]:{}}function np(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Kf(nge(e),e,t):e}function rge(e,t,n){return e.concat(t).map(function(r){return np(r,n)})}function oge(e,t){if(!t.customMerge)return Kf;var n=t.customMerge(e);return typeof n=="function"?n:Kf}function ige(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function R9(e){return Object.keys(e).concat(ige(e))}function B9(e,t){try{return t in e}catch{return!1}}function age(e,t){return B9(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function sge(e,t,n){var r={};return n.isMergeableObject(e)&&R9(e).forEach(function(o){r[o]=np(e[o],n)}),R9(t).forEach(function(o){age(e,o)||(B9(e,o)&&n.isMergeableObject(t[o])?r[o]=oge(o,n)(e[o],t[o],n):r[o]=np(t[o],n))}),r}function Kf(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||rge,n.isMergeableObject=n.isMergeableObject||Qve,n.cloneUnlessOtherwiseSpecified=np;var r=Array.isArray(t),o=Array.isArray(e),i=r===o;return i?r?n.arrayMerge(e,t,n):sge(e,t,n):np(t,n)}Kf.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,o){return Kf(r,o,n)},{})};var lge=Kf,cge=lge;const uu=Z0(cge),fo=oo("config",{state:()=>({config:Wf,configModules:{}}),actions:{async setConfig(e){this.config=e},extendConfig(e){this.config=uu(this.config,e)},generateSaveData(){return{playerCharacter:this.playerCharacter,gameCharacter:this.gameCharacter}},addConfigModule(e,t){this.configModules[e]=t},findConfigModuleKey(e){const t=Object.keys(this.configModules).find(n=>this.configModules[n].id===e.id);if(t)return t},reloadConfigModule(e,t){this.configModules[e].code=t,this.config[e]=t},loadSaveData(e){this.config.characters.config.playerCharacter=e.playerCharacter,this.config.characters.config.gameCharacter=e.gameCharacter}},getters:{playerCharacter(){return this.config.characters.config.playerCharacter??"player"},gameCharacter(){return this.config.characters.config.gameCharacter??"game"}}});function F9(e){const t=Gr(),n=t.getSkillCheck(e.id);if(n&&n.happened&&(n.succeeded||!e.repeatable))return n;const r=sve(e);return q9(rve(r,e)),r?t.passSkillCheck(e.id,e.hideAfterRoll):t.failSkillCheck(e.id,e.hideAfterRoll),t.getSkillCheck(e.id)}function uge(e,t=[]){const n=e.options,r=e.staticOptions,o=!!n.condition;if(o)return r.success;if(!o){for(const[i,a]of r.elseifs.entries())if(t[i]===!0)return a.branch}if(!o&&r.failure)return r.failure}function V9(e){return typeof e=="object"}function z9(e){return typeof e=="string"&&e.search(/\$/)===0}function q9(e){const t={speaker:fo().gameCharacter,text:e,interactive:!1};lr().addDialog(t)}async function k_(e){lr().addDialog(e)}function fge(e,t){if(t<e.length)return e[t]}/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function U9(e){return typeof e>"u"||e===null}function dge(e){return typeof e=="object"&&e!==null}function hge(e){return Array.isArray(e)?e:U9(e)?[]:[e]}function pge(e,t){var n,r,o,i;if(t)for(i=Object.keys(t),n=0,r=i.length;n<r;n+=1)o=i[n],e[o]=t[o];return e}function mge(e,t){var n="",r;for(r=0;r<t;r+=1)n+=e;return n}function vge(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var gge=U9,yge=dge,bge=hge,wge=mge,kge=vge,xge=pge,ho={isNothing:gge,isObject:yge,toArray:bge,repeat:wge,isNegativeZero:kge,extend:xge};function H9(e,t){var n="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(n+=`
175
175
 
176
176
  `+e.mark.snippet),r+" "+n):r}function rp(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=H9(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}rp.prototype=Object.create(Error.prototype),rp.prototype.constructor=rp,rp.prototype.toString=function(t){return this.name+": "+H9(this,t)};var ai=rp;function x_(e,t,n,r,o){var i="",a="",s=Math.floor(o/2)-1;return r-t>s&&(i=" ... ",t=r-s+i.length),n-r>s&&(a=" ...",n=r+s-a.length),{str:i+e.slice(t,n).replace(/\t/g,"→")+a,pos:r-t+i.length}}function __(e,t){return ho.repeat(" ",t-e.length)+e}function _ge(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var n=/\r?\n|\r|\0/g,r=[0],o=[],i,a=-1;i=n.exec(e.buffer);)o.push(i.index),r.push(i.index+i[0].length),e.position<=i.index&&a<0&&(a=r.length-2);a<0&&(a=r.length-1);var s="",l,c,f=Math.min(e.line+t.linesAfter,o.length).toString().length,u=t.maxLength-(t.indent+f+3);for(l=1;l<=t.linesBefore&&!(a-l<0);l++)c=x_(e.buffer,r[a-l],o[a-l],e.position-(r[a]-r[a-l]),u),s=ho.repeat(" ",t.indent)+__((e.line-l+1).toString(),f)+" | "+c.str+`
177
177
  `+s;for(c=x_(e.buffer,r[a],o[a],e.position,u),s+=ho.repeat(" ",t.indent)+__((e.line+1).toString(),f)+" | "+c.str+`